With 3D development allowing for new animations, like the possible 'steal' animation that's been mentioned, I think there is a way to rework the system to make more sense, but still not completely ruin stealing as a 'job.'
I think I've seen somewhere that steal will be changed so that no animation is displayed unless the thief fails, in which case a unique stealing animation is played. This IMO makes sense.
What I'm suggesting is that when a thief steals, assuming he succeeds in the roll, if the player's inventory is opened/closed while the theft is happening, he is immediately discovered and the animation plays. This way, players don't have to continue moving in circles to avoid thieves. Just being aware would allow them to open/close their inventory to keep their valuables safe. Realistically, it also makes sense. If you're looking in your pockets/bag and someone tries to steal from you, you're going to notice. A similar thing should also be implemented where if you're trading, since you're actively looking through your inventory, any steal attempt fails.
Another idea: once the 'animation only on failure' concept is implemented, maybe using the 'push' action on thief while the animation is happening would be a way to alert the guards, who would actually respond and attack the thief instead of just tagging him as a thief.