5... Bc5 doesn't really gain time because the knight is already defended, but it's a good developing move.
10... Bd6 looks unnecessary. I would develop the g8 knight to f6.
You are right that 12. Bxe5 was a bad move. His dark squared bishop is very good in this position! Now your bishop will be relatively unopposed on the dark squares.
Nice tactic with 16... Rxf3.
Instead of 19... h5, you could play 19... g6 or g5 and escape to g7 with your king.
This is a game i played on chess.com and i would like some advice on how i could have prosucuted a win from my strong position,I eventualy escaped with a draw,but i am not sure where it went wrong,Thanks for all your help.