I ride on roads mainly so I don't have to deal with much mud. Lots of city street stuff, puddles, glass, general road grit and oil etc. I just clean the chain every few hundred miles, and oil it. If the cassette looks gunged up, I try and get the grit out from between the cogs with pipe cleaners or a thin electricians screw driver. You can get the grit off the jockey wheels of the rear mech using a 6mm wide flat-bladed screwdriver. Don't forget to check for chain wear when you oil the chain. I stick the chain and cassette in a solvent-filled ultrasonic bath about three times a year, and get rid of film off the wheel rims with a rag soaked in some isopropyl alcohol.
My personal philosophy is that the rest of the bike can get a bit grubby if it isn't going to come to grief mechanically. It gets washed very quickly with car shampoo and a sponge about once every thousand miles. It's just a bike, after all.