Vim's sort is handy on Windows where the option to shell out usually doesn't exist.
Additionally you have the full power of Vim regex to sort on subsets of lines.
On the other hand, the :! and ! commands are Vi compatible (though, as you say, you wouldn't get the additional features of :sort). So you get to pick who you're going to be compatible with: vi or Windows?