I agree with the "lazy" poster--I did things the easy way! and I never had odor problems.
1) Number one, I read that too much soap can cause odors! Use VERY little detergent
2) I didn't soak at ALL. I had 2 diaper pails, one for poops and one for pee only. (I would dump as much as possible in the toilet first but I didn't rinse it or anything).
3) When it came time to wash, I washed the poopy ones first by themselves in COLD water with a TEENY TINY bit of detergent. Warm water sets the protein stains.
4) After that, add the pee ones and wash them all in warm or hot, again with a little detergent (think 1/4 the recommended amount).
5) To eliminate all detergent, you can do an extra rinse if your washer lets you, or go back and just rinse them again after they're done. You could add vinegar to the first rinse, that's supposed to help too (but rinse again, any residue left in the diaper will increase odors). I don't know about the all in ones, though, vinegar may not be good for them.
6) if you already have stains, the sun is the best way to get them out, or just don't worry about them.
7) You could also use a fleece liner to keep the stains off the actual diapers (I just bought some cheap, soft fleece and cut it in a peanut shape to fit inside the diapers, no sewing)
8) certain detergents are better than others, I preferred the fragrance free ones without any bleaches or other additives, and definitely NOT Dreft (supposed to be bad for the all in ones)
9) Make sure you've washed them all in hot water several times before using.
Are you breastfeeding or formula feeding? I was breastfeeding and that stains a lot less, so that might be part of it. For the covers, I would just rinse them out in the sink after each use and let dry. I'd use them a few times and wash only if they got smelly.
Hope that helps!
Lynn