12many is right has some great recommendations. I've used ABF, Yellow, and another one called Forward Air in the past. Mainly depends on who has a nearby terminal (for both the shipper and receiver) since "terminal to terminal" is ALWAYS the cheapest! I've shipped and received engines, transmissions, and sets of wheels and tires this way without any issues. To keep the cost down, do as MUCH as you can yourself...or have the person on the other end do it (if they are shipping). The freight companies will skid an engine/transmission/etc...but, that's not their specialty and the do charge dearly for it.
So, check craigslist...or local business, someone is ALWAYS giving away skids/pallets. For an engine, I use full sized skids (36x36, 40x48, or 48x48)...not the smaller 1/2 sizes. Pricing is based on size and weight...but, you also don't have to worry about anything hitting the sides of the engines (rememder, LOTS of other stuff will be put on skids next to your engine! Be careful if using ratchet straps and the locations of them. Remember...forklift forks will be sliding INTO the skid, and you do NOT want strap getting cut/snagged/hit. For an engine...I like to get a wooden skid, lag bolting down a "cradle" made of 4x4s (so the oil pan rails sit on top of it), and then put 4 eye-bolts into the tops at each corner (so they are into the thick wood rails/spacers of the skid)...this gives you 4 locations to ratchet strap the engine down to.
Almost forgot...shrink wrap the engine before skidding it! Lowes, U-haul, Homedepot sell small rolls for moving etc.. This will help keep the dust and dirt off the engine during transit. Freight warehouses and trucks are dusty!
Last complete small block I had shipped to me, Washington state to Ohio, I think ran around $320. I took care of the shipping costs from my end and the shipper just had to skid it, drop it off at the freight terminal, and give them the invoice number. I had it about a week later!