There was a comment on using carb cleaner on the chain - if you have an oring chain, carb cleaner will dissolve the rubber orings so DON'T use carb cleaner.
Take the chain off an soak it overnight in varsol or solvent. Scrub gently with a toothbrush.
If you have an oring chain you can buy a spray that is light enough it penetrate in behind the orings. If it's not an oring you can use a thicker formula spray or even oil. But wet lubes attract dirt so some don't like them. I offroad in the mud and spray off the chain after each ride, let it dry, then apply a spray lube. That keeps it well lubricated in the dirt (kind of hard not to attract dirt when you are knee deep in mud....) and keeps the rust away. But I do this each trip and wash down after so I don't mind a greasy messy chain (arr arrgh).
They work pretty good in combination with the liquid cleaner of your choice .
As for chains and sprockets +1 on the sidewinder chains and sprockets. If you want to get a bad ass titanium sprocket for the price of an aluminum sprocket now is the time - they are on sale for the 42nd anniversary sale they are having.titaniumsprocketsale
Never use any kind of solvent/degreaser on an open chain unless you can allow it to sit long enough to dry completely. Otherwise, oiling a solvent-soaked chain just causes the oil to drip or sling off.
After 46 years of maintaining motorcycle chains I've finally figured out quick, easy, and relatively inexpensive chain maintenance procedures. I use different processes but the same products on both open and o-ring chains, since I have motorcycles with both types.
First, ride the bike to warm the chain. Then raise the back wheel and soak the chain with Seafoam Deep Creep. Wipe the chain with a rag to remove crud. This is easier with Deep Creep than any other cleaner because Deep Creep dissolves and displaces other oild and water and lifts dirt and grunge rather than just softening the crud. WD40, CRC, and other penetrating/displacing oils will adhere the crud to the metal. Therefore, as they penetrate, these other products tend to draw minute particles down into open chains. Deep Creep tends to penetrate and float the crude out. Something different about the chemical makeup. better be for $10/can. Rinse the chain with Deep Creep if this is your first time using the stuff. Repeat until the chain is clean.
For open chains, wipe off excess Deep Creep. Then ride the bike to warm the chain. This only takes a few miles with an open chain because any light lubricant/penetrating/water-displacing oil lacks the viscosity to provide lubrication for the rollers and pins for more than a few miles. With the chain warm, spray enough Walmart Champion Motorcycle Chain Lube on the chain to completely coat the chain. Spin the back wheel a few minutes to allow the heat and tiny bit of Deep Creep still in the rollers to thin the lube so it penetrates deeply into the rollers. Allow to sit overnight and the lube will have a waxy texture that is water repellent and does not allow dust or mud to adhere like oil does. Mud slings off readily with a spirited wheel speed.
With an o-ring chain I usually allow the bike to sit overnight so the Deep Creep dries out and doesn't sling off and make a mess. O-ring chains can go 5000 miles with no further lubrication because their lubricants are sealed in with the o-rings. Really the only reason to spray any lube at all on an o-ring chain is to keep it from rusting. With the chain warmed, usually when I get home from wherever following the next ride after cleaning, raise the back wheel and douse the chain with a liberal coat of Walmart Champion Motorcycle Chain Lube. A warm chain thins the lube and allows it to flow between the plates down to the o-rings. After drying out overnight the lube turns into a waxy water and crud repellent coating.
I clean and lube open chains about every 1000 miles. They could probably go longer but, sheesh, 1000 miles between lubes on an open chain? Who'da thunk such nonsense was possible? On o-ring chains, I clean and lube before departing on a trip as part of my pre-trip maintenance and inspection, whether the chain needs it or not. Remember, the only reason to lube an o-ring chain is to prevent rust, and anything short of a pressure washer or strong degreaser isn't going to touch that Champion Chain Lube. I often go 6000 miles or more between maintenance intervals on o-ring chains, even on bikes ridden in dusty and muddy conditions.
Now, here's the good part: Once you have cleaned the chain with Deep Creep and coated it with Champion Chain Lube the first time, subsequent maintenance sessions are easier. When a chain is warm, Deep Creep liquifies the old Champion Chain Lube, suspends all the little crud particles, and floats the whole mess right off the chain. A quick wipe and you're done. Cleaning takes only minutes, and the chain will be spotless. No soaking, boiling oil, hanging to dry, etc. Quick, easy, and effective.