It varies wildly between torrents based on activity of the torrent and your I2P tunnel settings. Participation on I2P torrents is definitely significantly lower than normal clearnet torrents (at the moment) so a lot of times there are only 1-2 peers available which often results in roughly 35-60 KB/s but I've also seen some more popular torrents download at nearly 1 MB/s. I2P can self update from a torrent, that file generally has high participation, and on average, downloads at speeds above 150 KB/s. There definitely is some bandwidth lost just due to overhead of running the network, fewer hops and more tunnels helps with that though. I usually run about 10 tunnels with Snark, all with 3 hops. If I reduce that to two hops I can still have good privacy but with significantly less bandwidth overhead, I just personally feel the extra privacy of three hops is worth the sacrifice.
Speed and bandwidth rely heavily on the level of participation, more high-bandwidth peers torrenting over I2P will significantly speed things up. With my current setup, my router pushes around 450 KB/s on average just for participating traffic (traffic that is only contributing to other I2P peers) so it's definitely capable of comparable speeds to that of a VPN.
Oh and I should have mentioned this before, torrenting over I2P also helps strengthen your connection to the I2P network because it introduces you to more high-speed peers to communicate with. Really speeds things up if you're trying to bootstrap a new I2P router
I2P has quite a few internal torrents with large swarm sizes that you can stress test pretty reasonably with. Another fun thing you can try if you are using I2P Snark (java I2P built-in torrent handler), you can paste magnet links from the clearnet into your client and if you're lucky some beautiful people out there are cross seeding that torrent and it'll allow you to take part in downloading clearnet torrents over I2P.
So, if I set up an I2P router on my network and use Qbittorrent, would it theoretically be possible to contribute to I2P using the torrents that I already seed? Or is it not that easy?
You can cross-seed torrents by adding I2P trackers to the tracker list. What helps is when you upload the .torrent file to tracker2.postman.i2p (the only? i2p public torrent tracker) so that others can find the magnet/torrent link and start downloading. That way people can find the InfoHash and also have trackers embedded in the i2p .torrent file to allow you to find seeders.
What I mean is if I create a new torrent of Big Buck Bunny with a InfoHash of b1946ac92492d2347c6235b4d2611184 for example, no one will find my torrent by searching for "Big Buck Bunny". Unless I post this hash somewhere, advertising "Hey, this torrent is Big Buck Bunny" like what 1337x and other torrent sites do, you won't "find" it. Basically, we have to use a torrent indexer like tracker2.postman.i2p to search the metadata and find torrents we want. If that makes sense.
I2P has its own DHT so all you need is an InfoHash to start downloading assuming there's at least one reachable seeder. MuWire is an application that lets you search the DHT. The developer recently abandoned the project though... I haven't tried it in some time but it probably still works.
I'll check out MuWire, was unaware that it used DHT.
Also, I am just saying that tracker2.postman.i2p is the only torrent directory we have currently, and its best way to find and advertise torrents for others. Trackers (where your client announces to) are helpful to finding peers of the same torrent.