From my point-of-view,
torsocks and using
TransPort selectively for some applications (e.g. like Mike's suggested setup for Android) is quite equivalent.
Two key differences, though:
torsocks will take care of DNS leaks, so extra care is needed when using
torsocks 2.0 will take care of filtering and blocking some network system calls. Again, it might be more straightforward than configuring the perfect firewall (hint: don't forget IPv6).
But in both cases, one can have a look at the application, what information it might be able to leak, and make an informed choice about routing its network traffic through Tor.
What is indeed now considered a bad idea is to route all traffic through Tor indiscriminately (using
TransPort). Having some random update manager sends a unique hardware identifier through Tor might not be the best strategy for anonymity.