i detail my engine regularly and here's what i recommmend from my experience:
step 1) get either simple green or purple power (available in the automotive section). engine degreasers dont work nearly as well and the fumes will make u sick and linger for days.
2) get one of those wheel brushes that looks like a mini toilet brush with LOTS of bristles on all sides. the more bristles, the better.
3) for really getting the hard to reach spots, tie a toothbrush to a long wooden dowel or stick using duct tape.
4) be sure to cover your distributor well with a plastic bag and tape. i dont cover my spark plug wires, but i guess u can if u want to. if you have an exposed air filter element, either cover it or remove it and cover up the end of the pipe.
5) it is really better to wash the engine when its cold, because when its hot, the degreasing agent dries up very quickly, leaving you with a dirty, spotty, dry engine. you want to have the degreaser remain wet so it easily carries the dirt away when you rinse it.
6) spray the degreasing agent LIBERALLY. you only need to let it soak a few minutes. dont wait til it starts drying out. brush any greasy areas that you can within that time, then rinse it off with the hose, and repeat.
7) once you're down to where its looking really good, you will want to start drying everyting off with a towel, just like you do the rest of your car. this will keep it from spotting. if u want to go the extra mile, armor all your hoses and polish the metal brackets and such.
thats about it. here's a pic of my engine bay. to get to this point initially took about 10 hours of work, but after that its just a matter of spending a few minutes each month to rinse it off and wipe it dry. have fun!