One possible solution would be to configure your OS to apply a DSCP marking on all packets originating from the bittorrent client process. Windows support this, I am not sure about others.
This way you can then catch all the bittorrent packets in mangle based on the DSCP value and route them however you want.
I use this method for many processes in windows that I need to have special policy routing that cannot be based on port or protocol. For example all traffic from Chrome should be routed via different gateway than Firefox. Both use ports 80/443, so without DSCP there’s no way to differentiate between the two browsers on the same PC.
Of course one major disadvantage is that you must configure the desktop PCs to do the marking per process (via group policy) . Though I think you can centrally manage that if you use active directory.