I use one of these
http://www.parktool.com/product/cycl...-scrubber-CM-5 with a citrus based degreaser. The chain scrubber keeps the mess down.
I rinse the residue off and relube everything with Pedros Low Viscosity Chain lube. I used to use a teflon based lube but I found that it just gunks up too easily.
My local LBS mechanic recommended the Pedros Lube because it seems to pick up less crud. It's also canola based so its environmentally friendly as well.
A quick rinse with a hose at low pressure gets most of the dirt off and I'll use a bit of dish soap to get any bits of grease off.