Original Bike Spirits "my favorite" or Bel Ray Super Clean are the all around best I have ever used "I have tried them all". Cleaning a chain is not necessary, matter of fact I believe it is counterproductive and removes all of the lube where it needs to stay. Using a grunge brush or any type of solvent is a NO NO, but don't just take my word for it. Wipe the chain free of residue and road grime with nothing but a rag, lubing the chain is all you need to do. The chain will actually self clean to a point, hence why you just wipe it down and re-lube. Yes you are going to get some fling off, get a shaft drive if that drives you crazy. My bikes get washed in the rain or during a creek or water crossing, having a clean motorcycle is counter productive.