If you really prefer to see things in order then
<foo sort | ...
is an alternative to cat foo | sort | ...
though I wouldn't particularly recommend it. Instead the overhead of cat(1) should be omitted and it written in the normally accepted form of sort foo | ...
Providing a filename rather than re-directing stdin allows the program more choice over its method of access.