Best cocktail

Here's another vote for vinegar. I use the cheap stuff from the restaurant supply store.

Here's a tip if you want to soak something that's big, heavy, long, or other awkward shape. A while back I was trying to get a slant intake/exhaust loose from each other, they were rusted up badly. This was pretty bulky and I didn't want to use a trash can and have to fill it with 20 gallons of vinegar. And then what to do with all that vinegar afterwards? Anyway, I put the manifolds in a heavy duty trash bag, then put that in the trash can. I put about a gallon of vinegar in the trash bag for starters, then filled the trash can outside of the bag with water. This forced the bag tight to the manifolds such that it only took about two gallons to immerse the parts while all the rest of the volume was taken up with water. It worked pretty slick.

Might not be an option for your engine block but it would work for smaller items.