Torrents work by trading a few extra bytes downloaded and some extra software complexity, cpu time, upload bandwidth, and additional active sessions in exchange for being able to download the desired bytes much faster.
So it depends on how you define efficiency. If you're primary concern is for transmission size, then torrents are not efficent. If your concern is how fast you get your data, they are great.
Each of the costs I listed in my first sentence are real. They are designed to not be a factor for most users, but in the wrong situations any of them can be important. For example, the small college where I'm network admin also has a fixed limit on the number of simultaneous sessions we can push through our gateway at one time. Bittorrent users can generate in excess of a 1000 sessions each. Just a few of users like that and suddenly internet access suffers even though we have bandwidth to spare, because we can't process more sessions.