Hey, that's my specialty! I've actually won a couple of awards for my engine bay at shows and I take great pride in making it look nice. Here's a couple of tips to get you started. Remember to start with a cool motor whenever possible. Sweat makes spots!
First, POWER WASH IT! Hose it with degreaser (since you have no chrome or billet under the hood) and then wash it off. That will get off most of the road grime and oil and stuff. This is the best starting point. This IS safe to do as long as you're not washing directly at the relay boxes and such. Our detail department does this to all of our used cars without issue.
Next, clean every nook and cranny. Yes, this includes the hard to reach corners in that plastic strip at the back of the engine bay and the area around the shock towers. Make sure every flat surface is very clean (since these show dirt and spots the easiest) and then wipe down every hose and wire loom. Take special care to clean the valve cover and intake shield too. These are the uglier parts of the motor and look even worse if they are dirty. For all of this you can use a quick detailer like Meguiars or Eagle One (my current preference is for the Eagle One).
Wipe the SIDES of everything too. ESPECIALLY the battery and the inner fender wells. These are big surfaces that can hide lots of dirt and spots.
Don't forget the underside of the hood, hood hinges, backs of headlights, and the little area BEHIND the upper grille (dirt loves to hide there).
Finally, get out your tire shine (Meguiars gel works best for this), put it on a rag and wipe down all of your hoses, wire looms, and other rubber parts. This will make them look beautiful.
When you're done, stand back and look for the flaws. Grab a clean microfiber and go after them as you spot them.
I've got my engine bay cleaning time down to under an hour with practice. The first time I did a full cleaning for a show it took 3.
This is the finished product, sorry I don't have a better pic right now: