I think 16. Bxh6 Rfd8 17. Bxg7 was correct, but after 17. ...Kxg7, 18. Qg5 was stronger.
18. ...Kf8 Qh6 19. ...Kg8 Rh3 loses for Black
18. ...Kh7 19. h6 Bf8 (19. ...Ne8 20. Qxe7 isn't much better) and Black cannot defend everything; Rxd6 is an eventual possibility, as is Be2-h5-g6
Do you give the bishop sacrifice a (!!) or a (!?)
Also if you were to sit down at the board from the ending position who would you want to be? The black pieces or the white?