Putin has many reasons to hold on to Snowden and almost no reasons to turn him over to the US.
Turning him over to the US _might_ curry favor with Trump, however
A: Trump is too inconsistent for something like that to have a dependable long term effect, and
B: More importantly we're pretty sure Putin already owns Trump, probably along multiple lines. You don't need to curry favor with your pawns.
C: And whether Putin owns Trump or not, it certainly doesn't benefit him to _appear_ as if he owns Trump any more than he can avoid, and sending him Snowden as an "inauguration gift" would definitely lend itself to that appearance.
On the other hand, Snowden is an embarrassment to the US (or more accurately, he brought to light and continues to emphasize the way in which the US has embarrassed itself) which is valuable PR for Russia. Even if Putin owns the president it never hurts to have multiple lines of attack available.
Keeping Snowden in good standing encourages other people who might have negative information about the US or whose mere existence and freedom might embarrass the US to look to Putin for support, potentially giving him more ammunition in the future.
And as long as he has Snowden under his control Putin can always offer him up as a bargaining chip in the event that the puppet strings on Trump fail and he really needs to make a deal for some reason. (At which point of course the FSB will suddenly discover evidence that Snowden has been betraying Putin all along, so that it won't be a betrayal on Putin's part to return him to the US.)
Or alternately if he orders Trump to do something for Russia that is so outrageous that it strains credulity he can offer up Snowden as an excuse for Trump making the deal. (Again, shortly after the FSB "discovers" evidence against Snowden.)