I use Meguiar's car wash on the frame (only because we have huge quantities of the stuff) and kerosene as the degreaser of choice for the other bits. Why kerosene? 'Coz it's what I use when servicing boat winches and I am comfortable with its qualities. After seeing how brutally and efficiently commercial degreasers strip grease, I'm not really keen on using them on my bike.
We have a clamp on chain cleaner which lets you wash the chain without removing it.
I suppose I should add if something is gunged up enough our method of choice is removal and use of the parts washer (and kerosene) to clean it thoroughly and then re-install/lube. Of course, this method requires that you not only have a parts washer but the skill and confidence - and the tools
- to successfully remove and re-install components on your two-wheeled steed.
A bit of wax on the frame after you clean it should help keep the rain and dirt off. Another thing we haven't tried yet but are thinking of using, is Rain-X - some really obsessive vintage car owners use it for keeping the chassis clean and shiny. You need a gloss finish on your frame for this one to work though, coz it needs to be polished after applying.
And don't forget to lubricate everything after cleaning your bike especially if you have used degreaser.