If you wanna do it yourself, I suggest you have the ff: on hand...

1) Alkaline degreaser, Simple Green, Orange Glo, etc would work well. Purple Muscle works well too.
2) 2-3 soft bristled nylon toothbrush
3) 2-3 2" paint brush
4) 5 towels or so
5) 1 can of pressurized air (if compressor is not available)
6) 2-3 buckets of water
7) WD40
8) Plastic baggies or aluminum foil

Personally, I prefer removing the high tension wires and sticking a plastic wrap around the plug holes before reinserting the spark plug wires to make sure that a seal is made to prevent water from seeping in.

Cover distributor (if available), filters, fuse blocks, alternator and other sensitive electrical. I usually spray a light mist of WD40 on electricals to shield it away from moisture.

Work one section at a time, from the hood's underside down to the firewall, then to the front... Work from firewall to bumper...

Work on a warm surface, but not hot... tipong you can touch the radiator or manifold with your hand kinda temp...

Don't try to do the whole compartment, do one side first, then rinse and dry before working on the next, otherwise, you'll have stains and streaks on your paint, especially on dark cars.

It's best to do engine detailing/cleaning after a thorough underwash coz you can't really reach the bottom areas of the engine.