Today I had the pleasure to play the Bxh7+ sacrifice in my league game.
I had played the opening inaccurately and landed in a slightly worse position, when my opponent played 15..Sc6-a5?! 16. Bc4-d3 a7-a6??:
r4rk1/1bq1bppp/pp2p3/n3P3/3N1B2/2PB4/P3QPPP/R2R2K1 w - - 0 17
Suddenly Black is totally lost. Houdini takes a while to see it, but if you click into the lines the evaluation jumps quickly.
17. Bxh7+ Kxh7 18. Qh5+ Kg8 19. Rd3.
Now Black has two tempos to organize a defense to Rh3 and Qh7/h8# but he doesn't succeed. Everything is losing.
In the game he tried 19..Bd5 20. Rh3 f5 21. exf6 Qxf4 22. Qh7+ Kf7 23. Qxg7+ Ke8 24. Qxe7#. (22. f7+ would have been a move quicker.)
Other tries:
a) 19..f5 20. Rh3 (Not 20. Nxe6 Qc6 21. Qg6 Rf7 22. Rh3 Qxg2+ 23. Qxg2 Bxg2 24. Kxg2 and Black can still play a worse endgame.) 20..Bd5 21. Qh7+ Kf7 22. Rg3 Rg8 23. Nxf5! exf5 24. Qg6+ Kf8 25. e6 +-
b) 19..Bc5 20. Rh3 f5 21. exf6 Qxf4 22. f7+! with mate.
c) 19..Qc8 (or Qc4) 20. Rh3 f5 21. Qh7+ Kf7 22. Rg3 Rg8 23. Qg6+ Kf8 24. Nxe6+ +-
d) 19..Bxg2 20. Rg3 and now the additional threat Rxg7+ decides. +-
e) 19..g6 20. Qh6 achieves nothing for Black.