Unless you are serving the game (which is not the case for wow or diablo 3) you should not need to open any ports. All will be done automagically.
The problem should then be in your router or network connection. Since in the DMZ you have no more problems then it's probably a router thing. If this assertion is correct you should see much less issues with two people and even less or no issues with only one person at a time.
Try using a more powerful router or upgrading your firmware to a more flexible opensource solution like Tomato or DD-WRT (if compatible). These should give you a better insight into what is going on with your router and would allow you to turn off unneeded services to improve performance.
Using DD-WRT the status tab will give you a lot of information. Focus on free memory and active connections, but you might as well check CPU load and look for dropped packets.
If you conclude that indeed it's you router causing the issues you have several options:
- Flash a version of DD-WRT that is easier on resources. The mini version could be enough for your needs and might serve you better in terms of performance.
- Turn stuff off. Firewall would be the most important but since that one is off already go for other stuff. Google is your friend.
- Overclock your router. Google is your friend.
- Get a new router... this is the best option here. 100€ can buy you a bad ass router and between the three of you it's not that much money. Make sure you can take it back if it doesn't solve the problem.