Ignoring ethics for a moment (heh), one has to consider the ramifications a pardon such as that would send. That's tacit endorsement from the president of the US for everyone who
thinks wrongdoings are going on to come out and tell the world, regardless of the chain-of-command, regardless of any oaths these people have taken - it's basically carte blanch permission for people in the government to start leaking privileged information.
I can't think of a way to pardon Snowden without sending that kind of message - you can't say, "Only do this if you're really sure what's happening is super bad."
So yeah, he could pardon Snowden, but the consequences could be ruinous to the US, even if it is "The Right Thing" to do.