Mix Castrol Super Clean or any of the parts house brand butyl base cleaners 50/50 in a pump up sprayer and liberally coat the dirty/oily areas. Give it a couple of soakings (especially on a hot engine) and then wash off with a water hose. Repeat as needed. For really caked on crap the best thing I have found is using AvGas in a blow gun, but mineral spirits will do a really good job as well.
I personally don't like using a pressure washer on the engine, you hit something wrong and you can screw up a sensor or a gasket.