I used to have both in my tanks. You can minimize (but not eliminate) the snail shell problem by keeping a lot of empty shells around in your tank, so the crabs have something to move into when they grow.
I think a lot of the snail shell stealing occurs when a snail falls off of a rock or your glass, lands upside down, and dies. It happens a lot, especially with snails like astrea or turbo snails. Crabs small the dead snail, and eat it and move in - often leaving the reef keeper thinking that the crab killed the snail for the shell.