Here's how I do it:
I like Simple Green and Gunk engine foam. First thing in the morning, crank the truck for until the engine gets warm to the touch, then shut it off. Use plastic bags and cover your alternator and distributer cap at least. Others like to cover their spark plug boots, and take the serpentine belt off.
Very liberally spray the engine down with whatever cleaner you have (don't let it get on your paint), let it sit for 15-20 minutes and work it's magic. Go back with a spray hose and lightly spray it down, and clean out the puddles of moisture. Then get a detailing toothbrush

and start scrubbing where it's stubborn. If it won't come off, spray it with more cleaner and let it sit for a few minutes, then scrub on it before you spray it off.
When you're done, take a spray hose and spray it off good, medium pressure. Take a rag and try to collect up any pools of water/etc that collect everywhere. Take the bags off your alternator/distributer. I douse a toothbrush in hot water, then put cleaning spray on it, then scrub away at the alternator, make sure not to spill anything into it (at least not a large amount

)
When done cleaning, let it sit for at least 30 minutes with the hood up, let it dry out some. Remove whatever plastic covers you have left, put the belt back on if you took it off, then crank her up. Drive it around for 20 minutes, come back, and look for more places to spot-clean.
Of course, that's a long process, and you can take shortcuts. I did a very quick hour clean this last weekend:
http://w3.cablespeed.com/~baskin/Lightning/020602/
But I don't have the luxury of a spray hose at this apartment, so I poured buckets of water on it

Yes, I did.
I know a few guys that swear by using gasoline, I personally wouldn't ever
