First thing you do is buy a roller cleaner. If you somehow live in a bucket-free zone, buy a bucket at the paint store while you're there getting the roller cleaner. Or ask at your nearest restaurant, where they buy vegetable oil and margarine by the 20L pail and go through it on a weekly basis, if not more often. Clean them well, remember they held vegetable oil at one point.
Next thing you do is buy good quality rollers, and clean them. They last a long time if you do.
Foam has it's place, but that place is not putting paint on a wall in your home. They work great for laying down epoxy on a composite panel, for example, and for applying stain on furniture-grade woods. There are other areas where they do quite nice jobs, so it's not like they have No Earthly Use. The right tool for the right job, is all.
Having said the above, it sounds like you are not loading up the roller with enough paint. You may also be using a roller with too thin a layer of foam. Don't be afraid to put some paint on the thing, enough to get a nice wet V or W pattern on the wall. Rollers are *supposed* to pick up paint (from your W pattern) and spread it on the wall in an even fashion. You apply paint, then dip into that paint to roll out the area. Apply more paint, repeat.
Spraying has it's place as well, but preparation time is much, much higher than with brush and roller jobs. You need to decide which method offers the most efficient use of your time.