1. When I knit dish cloths, I use a larger needle size. The tighter weaved ones tend to sour more quickly. These dish cloths are just as soft and absorbent as the others but without the stench!
2. I try to remember to shine my sink when I get done with a load of dishes. I use vinegar and baking soda for this and both seem to help the take out any odors that were lingering from the dish washing.
3. Then, I make sure to rinse the cloth after I get done. Even if I used plenty of soap, there is still some food particles stuck on the cloth.
I also use a fresh dish cloth for each day of the week. If I do end up using a dish cloth for more than one day after I've rinsed it, I hang it to dry on my oven rack. So, it doesn't sit wet in my sink, never balled up at the bottom of my sink with a pile of dirty dishes on top! lol
Update- I switched to Tide recently and started noticing my cloths turning sour again. Not sure if it's the detergent or what, but yesterday I washed a load and put some bleach in the wash. Then, when I did the rinse cycle I poured in some vinegar. It had a faint vinegar smell when it came out of the wash. I hung it on the clothesline all day and let the sun shine on it for several hours. They came off the line softer than usual and smelled clean and fresh!