On every vehicle I've owned, I've done this:
Spray the cold (or warm, but not HOT) engine with a light fan spray from the hose. If it's really dirty, a spray of simple green will do the trick, otherwise skip it. Don't let the simple green dry, wipe the dirty areas with a micro fiber towel. Hose the engine down again until it's free of soap. Then, start the engine, close the hood and let it get nice and toasty to dry out all the water. turn the engine off, and wipe down any left over puddles.
If you have water spots left over, ICE total interior detailer, or something similar (Armor-All will make it look ridiculously good, but will attract a lot of dust) and a rag will get it looking perfect , if you spray it, make sure you cover the serpentine belt!.
I used to enter local car shows throughout the 90's (won a bunch too!), and people were amazed by how clean my daily driver's engine bay was. Even my Jeep was spotless- and I hit some serious mud in that thing a few times!