I got a cheap 5L Ultrasonic cleaner from Ebay. Heats the water and puts out enough power to get things clean. Fill with water and a cap full of degreaser and let it run.
Have to rotate most engine parts to get all the bits, but it works well for the money.