It's good practice to block common tracker ports like:
6881-6889
2710
6969
but this will not help against trackers binded on 80 port(i.e tpb.tracker.thepiratebay.org). So blocking all, but 80,443,22 would not help.
ipp2p is best solution i know. See Documentation/Usage section
About l7-filter. In bittorrent.pat comment says:
This pattern has been tested and is
believed to work well. It will,
however, not work on bittorrent
streams that are encrypted, since it's
impossible to match (well) encrypted
data.
In BSD systems pf can apply actions depending on number of states or connections per second, so you can tag bittotent-like traffic, 'cause it rapidly generates connections. Read iptables manual, may be it can do it too.