When cleaning the underbody and engine bay I have often used warm to medium hot water through a pressure washer and a mild degreasant to good effect. I'm not sure I'd be too comfy using a steam lance to do this unless you are very careful. It will clean things a whole lot quicker but I'd be concerned about damaging things or removing protective coatings with excessive heat / too much pressure or holding the jet too close to the car. Might be ok if you are considering having this done professionally but I'd prefer to get the trolley jack and axle stands out and get busy (and wet)!