Careful! Vinegar can discolor a hard rubber mouthpiece. I bought this stuff, it's cheap and seems to work well:
http://www.doctorsprod.com/store/comersus_viewItem.asp?idProduct=19
Not exactly. Vinegar can discolour some mouthpieces, old Selmers are more known for that, but actually, IME, most mouthpieces won't be affected at all.
It matters what type of dirt you are trying to clean. Swabing and maybe cleaning with water will easily help after playing, even once in a while, as long as the dirt is still soft. A (soft) toothbrush can help, and soap too, if the dirt it tougher. If the dirt the very hard white dirt none of this would help.
I've tried the Doctor mouthpiece cleaner and did an experiment comparing all sorts of cleaners. I found that the Doctor mouthpiece cleaner really doesn't clean anything that soap and water won't clean, sometimes worse, and would take a lot longer. So I asked Omar (the Doctor) about it.
According to him the mouthpiece cleaner won't help against a lot of buildup. However there are two types of buildups, organic (for example from food, etc.) and inorganic (for example from saliva). According to Omar vinegar will clean only some of the inorganic (usually white) builups but not otehrs or the organic buildups. His mouthpiece cleaner is a formula that helps against all of those types of dirt. It is supposed to turn all types of dirt to the type which vinegar can remove, so later vinegar will remove it all.
I've tried all the above plus a kettle cleaner (stronger acid than vinegar) and even alcohol. The Doctor mouthpiece cleaner seemed to do something, but not much really. When I tried this on very dirty mouthpieces, the vinegar and then toothbrush and soap washed everything off. I can't even say if the mouthpiece cleaner made the vinegar faster. None of the mouthpieces (all hard rubber except one plastic) didn't change colour at all, except one which was already lighter from being old. It was only the alcohol that changed the colour slightly more on that mouthpiece, so I didn't try alcohol on other mouthpieces.
To remove the hard white deposits vinegar worked great, and kettle cleaner worked fastest. However it is a stronger acid and I was told from two sources it might damage hard rubber if used too much. So I am sticking with vinegar (very weak acid). If you wash your mouthpiece after playing, or at least occasionally, sometimes with soap, it will help a lot in delaying those hard buildups.
I almsot never clean my mouthpiece after playing except swabing it slightly (mostly because I leave the reed on the mouthpiece, not that I recommend doing that). I clean my mouthpieces with water every few months. I wash them with soap and toothbrush maybe once a year, and clean them with vinegar once every two or three years I would say.