Since I have taken on the give-a-way motor task, I have received a lot of engines and otherwise that are at least "good for the nuts and bolts" I have disassembled about 6-8 engines in the last year and ended up with a lot of bad cams and cranks, a few busted up cases and what not, but the coffee cans of nuts were piling up. I cleaned up what I needed for the motors these past two years, but that didn't touch what I had stored up.
I started with the carb cleaner dip can. It worked well, but required soaking and lots of rubbing with a paper towel to get clean. And even then, they didn't come all that clean (some rusted, others stained, you know). So I broke down and bought a vibrating cleaner/polisher from Harbor Freight this spring for about $35. I also got the warranty because I read questionable reviews.
My new cleaning approach starts with the dirty parts being put into Purple power. Then are soaked for a few days and then dumped in the driveway and blasted with the hose. If I need to, I resoak in PP (

). Then they come in to my deep sink where I have a basket and a soap/water mix ready to finish the degreasing.
Then its on towards the floor to dry out good. The best part about the floor is that you can't drop them any farther! Once they are dry, they go into the vibrator with the abrasive material. I don't remember what I used, but it works. It came with my used sand blasting cabinet.
Turn it on and let it run for ~6 hours and....
PRESTO!!!

Dirty bits

Still use the carb bucket some

Drying on my workfloor

Sitting in the media

The vibrating onion
6 hours later....

Clean bolts!
(side by side)