I used the Griot's Engine Detailing kit on my E46. Sprayed it on heavily, let it set a few mins, then used a brush and scrubbed at the grime. Then, took a hose with a pressure nozzle and washed it away, taking care not to get the electronic bits too wet. The whole process took maybe 30-45 mins.
Kit:
http://www.griotsgarage.com/product/...tailing+kit.do
Before (about 135k miles of grime):
After: