I have a park chain cleaner machine, it cleaned my chain back to silvery brightness. But the 'bio-friendly' solvent also killed all the grass it touched on my lawn.
Mechanics at my LBS recently told me that I should use the 'lube wipe repeat' method, running the chain through a cloth until little or no dirt comes off as it passes. I've done this a few times and am happy with it. Much faster, much less messy.
I used to take my chain off and clean with simple green and a tooth brush, but now I hear that the act of removing the chain repeatedly will weaken the links. Don't know if this is true, but I've had chains snap while riding and I don't want to repeat that.