In season, I wash my bike every week or two. I used to spray on S100 engine cleaner but the white residue was a pain in the ass to get off. Never seemed to get it all. I use a power washer (but dont get that close to engine/electrical seams - mostly used for cleaning radiator, forks, etc.)
I now use a citrus bas cleaner for the grime, power wash in an intelligent manner, use compressor or leaf blower to dry and LIGHLY mist down the engine and hoses with S100 Engine Bright. Two cans lasted me all season (I put her up for winter on New Years, i.e. not a short season).
The S100 is less sensitive to temperatures than WD-40.
Honda spry wax is the greatest thing since sliced cheese (for things other than the engine). Over spray wipes in and protects so hitting the conrol area can easily be cleaned up...unlike silicone sprays.
This guy has some good tips for overall bike cleaning:
http://www.ducatimonster.org/faq/faq_detailing.html