1. Cover any electrical wires that are exposed and anything you think water shouldn't get into it.
2. Warm up the car but not HOT. Warm enough so your hand can touch it..
3. Get Autoglym Engine and Machine Cleaner (I've found out it worked the best over any other products, very abrasive) and spray them on the engine bay.
4. Let it sit for about a minute and scrub with a toothbrush or any brush kind
5. Rinse it with water hose but with light water and not strong water.
6. Repeat the above steps if necessary.
Drying:
1. Get a can of air blower (The one you use to blow dust for computer) and blow any excess water out of crevices.
3. Wipe it clean with a towel.
4. Dress it with any polish or protectants. Although, I'm not a big fan of polish/protectant since I never pop my hood to/for anybody.
In terms of cleaners, there are other products such as P21S and 303, but I found Autoglym works nicely.
Here's an idea of what should be covered. I'm using stock engine as an exmaple because I don't know what kind of mods people have on their car, but the idea is the same.