Selecting text from the right to the left, stopping the selection before the tab trigger does in fact allow for tab triggered snippets with a selection.
tab_trigger<Selection_end>SELECTED_TEXT<Selection_start>
There are a couple of bad things about this.
There is no way to know how your selection was made, since you can't see the caret when you have a selection.
That, and the TM_SELECTED_TEXT variable isn't available.
Making the TM_SELECTED_TEXT variable work shouldn't be too difficult (I would imagine).
But making the caret visible with a selection would really be weird. I'd still like it, but i may be the only one.