A 2 fan set up has a limit of how much air it can move, obviously, but 2 fans should do a reasonable amount.
Some things to bear in mind:
1) You have an extrator fan on the power supply, so if you put the cases 1-in-1-out then you actually have 1-in-2-out, giving negative air pressure
2) Negative air pressure isn't as good as positive air pressure... it sucks dust in through various vents etc and makes your case dirtier
3) Air flow (the path the air takes) is as important as the amount of air you're pushing into and out of the case. If you're pushing cold air in, then it goes out again without going near your components, you're not going to cool them as well. Try to funnel your air from intake, past the hot components and out again.
4) Side fans can be bad, disrupting the airflow, although they can also help depending on setup. If you have 2 fans, don't add a third side fan as it will disrupt the airflow. if you have 4 intakes and a couple of exhausts, though, then you're pushing air round the case fast enough that things will get cooled anyway. KEEP CABLES OUT OF THE WAY
5) Top mounted CPU is better for cooling if your only exhaust is on the back. If you've got a dedicated exhaust fan on the top, however, then I'd rather have the CPU at the bottom where it's got cooler air itself. Top exhaust fans can get rid of the hot air for you.
6) More fans isn't necessarily better cooling. Too many exhausts can mean you divert the air so that it bypasses the components. Too many intakes can end up countering each other's pushing effect so that your air inside stagnates etc.
The best thing to do, in my opinion, is to take air in at the front and exhaust it at the back and/or top, taking in more air than you exhaust so that your fans push the cold air at the components, where it heats up and rises/is pushed to the top by the new air coming in, and is exhausted by those fans.
------------------------------------
Here's my setup, if it helps.
I've got my case set up so that I have 3 fans plus the PSU. Two intakes on the front, one exhaust on the top and the PSU exhaust. The two intakes are filtered to remove dust, and are set quite fast (my rule with intakes is to speed them up until they get annoying, then reduce them back to low). The PSU fan is quite slow anyway, and the exhaust on the roof is set to about half the speed of the two intake fans. The side vents are sealed up with tape, although there are still a few small gaps between the DVD drive and blanking plates etc.
Inside my case the CPU (tower) cooler is set up to draw air from above the GPU and push it toward the top of the case. The end result is that cold air is pulled in the front, where the two intakes push it over the hard drives (cooling them) and toward the GPU. The air from the top fan passes above the GPU (cooling the top a little) and is pulled upward by the CPU fan, cooling the CPU/memory and motherboard heatsinks. The air from the lower fan heads straight toward the GPU, passes through the GPU cooling and then is either pulled out by the PSU fan at the bottom or rises (being warmer now) with the other cool air from the top fan, via the CPU etc.
This gives reasonable cooling to all the main components and because the two intake fans are faster than the two exhausts, they push more air in than the exhausts pull out. As such, there is a little more air in the case than outside (positive pressure) which pushes a little of the air out through any gaps in the case etc and keeps the dust out while providing a little cooling to those components on the peripheries (which don't need as much cooling anyway.
My temperatures are normally
CPU (idle): ambient plus a couple of degrees
CPU (load): 40*C (winter), 45*C (summer)
GPU: 70-80*C
Nice and cool

and I'm only using 3x 120mm fans.