If a towel has serious black grunge marks on it, then I pre-treat those spots with blue Dawn dish soap and work the towl until it's clean. I may have to spot treat it a couple times before it looks new, but I can usually get 98% of the spots out. It takes a good while to rinse the towels to get most of the dawn out and then I wash as normal.
For the bulk of my towels, I simply put them straight into the washing machine using hot water and about half the recommended soap (using ERA regular soap). On the rise cycle, I'll add one tablespoon of distilled white vinegar per towel to help the thread shed excess detergent. Thanks goes to DFTowel for enlightening me to using hot water + ERA + the distilled white vinegar. It works so much better than the way I used to wash them (cold water + woolite + distilled white vinegar).