Because XMPP requires going through a central server (at least for session initialization), and because it punts on nat traversal. Also, the nat traversal code in transmission and the official bittorrent client have had a _lot_ more real-world testing.