The reason waste heat is hard to extract is thermodynamics. That waste heat comes out at a much lower temperature, and so it's hard to produce much work from it, especially in a compact package.
BMW's Turbosteamer system is able to recover about 20% of the exhaust stream's heat at lower speeds which is something like a 10% overall increase in efficiency. That's about as much as we can hope for in small engines, a bit over 40% thermal efficiency.
You have to understand that heat energy is much "cheaper" than work (kinetic energy), or electricity, and that it's pretty much not possible to top 60-70% efficiency in a heat engine.
|