I had my mechanic install a sram quicklink? so that I could remove chain easily. Scrubbing tools that Guy mentioned do work well also. But, I prefer to remove chain and let it soak in some neutral ph auto parts cleaner, agitating occasionally. Then I drop it in an inexpensive ultrasonic cleaner and cycle it several time with a citrus cleaner and then water. I clean chain every 30-40 miles.
I got a question, do you always clean chain before lubing, or do you re-lube chain before each ride, then clean occasionally? I would like to re-lube chain before each ride but I think lube might wash dirt into rollers if its not clean.