You should clean your chain every 300-500 miles depending on where your ride the most. If your mileage is mostly done on the freeway then you don't get as much dirt and debris and could get away with 500 miles in between cleanings. If you ride mostly back roads where dirt and debris builds up more on the roads I would suggest 300 miles in between your cleanings.
Materials that are needed: WD-40, Bel Ray chain lube(or any other motorcycle chain lube), old tooth brush (or your wifes), and a old rag. Try to find a cotton rag, they seem to be a little rougher which is better for wiping.
Step 1: The best time to clean your chain is when you just get back from a ride, 10 minutes minimum. Reason being is that your old lube is softer when it is warm. Take the WD-40 and spray your chain in between the links as well as the out side of the chain its self. If your thinking "Why WD-40 my chain doesn't squeak" WD-40 is actually a type of degreaser and a good one too.
Step 2: Scrub the chain with your tooth brush to loosen up tough debris. Make sure you scrub the out side of the chain as well as the inside. After getting the thick stuff off spray again and wipe it down with a rag until all old lube is off.
Step 3: Now that the WD-40 is dry you are now ready to apply your chain lube. Hold your rag behind where you are spraying the lube to prevent over spray. Make sure to spray in between the links.
Step 4: Spray the two metal looking dots on the chain(there is two on each side), those are pivot points in the chain and allows the chain to hug the two sprockets.
Step 5: Inspect your chain and make sure you didn't miss a spot or two. Then you are ready to ride. Have fun, and most importantly Be Safe!