Forget about using sand, it's only suitable for outdoor use...cleaning old buildings, etching headstones, etc. Never use it in a cabinet, it's crystalline silica and will shred lung tissue.
Soda has some interesting properties...and potential problems. It leaves a nicely smooth surface, with minimal material removal...good for use on sheetmetal. Wet soda blasting is especially gentle on sheetmetal. However, there's some question as to its alkaline properties. No paint manufacturer will warranty their materials when used on a soda-blasted surface. That may be why its popularity seems to be fading. Soda is single-pass only, it cannot be recycled (run through the gun a second, third, etc time) making it pricey for the coverage.
Glass bead is probably the best general purpose media. Its amorphous molecular structure makes it safe for use in cabinets. It will also survive at least three passes through the gun, though it does break down with each pass, becoming progressively finer. I would advise against using glass bead on any internal engine part surfaces, carburetor parts or non-metallic items.
Walnut shells can be used on engine cases and internal pieces, since it's softer than metal. I wouldn't use it on engine internals except in rare cases where staining cannot be scrubbed away in a parts washer. That said, it works well to clean piston crowns, head castings and external surfaces of engine case castings...it won't "profile" (etch) the as-cast surfaces. The limitation of walnut shells is that they're also softer than iron oxide, meaning ineffective for rust removal.
It's possible to change-out abrasives in the same cabinet, for specialized jobs. That quickly becomes a pain in the arse...and the primary reason most guys settle on glass bead.
Some luck lies in not getting what you thought you wanted but getting what you have, which once you have got it you may be smart enough to see is what you would have wanted had you known.