I use Foamy Engine Brite. Rinse it out w/ HOT water if ya can get some. Just remember to not get a lot of water near the alternator, and if ya have a BHAF, AFE, type filter, wrap it in a plastic bag... remember to remove the bag before starting the engine.
I have been washing mine for 2 years now and have NEVER had a problem.
For a nice little touch, take it out for a ride to dry everything off. When it cools back down and is going to sit for the night, buy a can of cheap tire foam and spray it all over the engine compartment.