Basically what everyone said so far will work great.
What I do is...
1. Warm up engine. turn car off
2. Hose it down lightly with a hose no high pressure just to get some water on it.
3. Spray alot of simple green all over the engine bay, carefull to stay away from the alternator and intake/filter. let it sit on there for 10 minutes or so...keep applying to the motor if it dries it will stain...just keep spraying it every other minute or so to keep it wet.
4. While waiting the 10 minutes take a brush/toothbrush or whatever you want and scrub the places with heavy oil/dirt
5. Hose off engine lightly...make sure to get all the simple green off.
6. Wipe down the engine to get most of the water off...I also use a air compressor to get puddles out of areas I cant get to with a towel.
7. After wiping down the engine and most of the water is gone you can either leave it like that or move on to step #8.
8. Once ithe engine is dried off I use tire foam to finish the job. Any brand will work just spray the tire foam over the whole motor...again staying away from the alternator and filter. Let the foam dissolve. Some areas will be pretty wet so then all you have to do after the foam dissolves is take a clean rag and wipe everything down again.
Using the tire foam makes everything look new again..the hoses, wires...etc just make sure you wipe it down good. You just want a nice clean shine to everything dont leave it wet.
I dont have a before pic but this is a pic after ive cleaned mine.
HTH's