CD2 makes a good engine cleaning kit- it comes with a bottle of degreaser, and a bottle of detail spray. Engine should be warm- not hot. I like to cover up anything I don't want to get wet with "heavy duty" aluminum foil- coil pack, DIS, battery (use a plastic bag for the battery), tb sensors, maf, alternator, etc. Spray down with degreaser, let sit, then use medium pressure garden hose to rinse down. Let dry for ten min., then drive. Spray detailer and wipe away excess.
I did this at a u-wash-it car wash and drove away with no problems right after. But once I didn't cover the DIS and have problems afterwards...