He said in a television interview he had been "trained as a spy" and that he never intended to live in Russia.
Meanwhile US Secretary of State John Kerry called him a fugitive and challenged him to "man up and come back to the United States".
Mr Snowden, a former NSA contract systems analyst is living in Russia on a temporary grant of asylum after leaking a massive volume of NSA documents to the media. He was made rector of Glasgow University last month.
He told Brian Williams of NBC News that he had taken action in the belief that he was serving his country in exposing the surveillance programs of the NSA.
"I don't think there's ever been any question that I'd like to go home," Mr Snowden said in a segment of the interview broadcast last night.
"Now, whether amnesty or clemency ever becomes a possibility is not for me to say. That's a debate for the public and the government to decide. But, if I could go anywhere in the world, that place would be home."
Mr Kerry's comments came before NBC aired that portion of the interview. On the matter of Mr Snowden returning, Mr Kerry said: "If Mr Snowden wants to come back to the United States, we'll have him on a flight today."
He added: "A patriot would not run away."
Mr Snowden told Mr Williams that he worked undercover and overseas for the CIA and the NSA. He said he had a much larger role in US intelligence than the government has acknowledged.
"I was trained as a spy in sort of the traditional sense of the word, in that I lived and worked undercover overseas," he said.
National security adviser Susan Rice said in a CNN interview that Mr Snowden never worked undercover.
Mr Snowden said he never intended to be holed up in Russia but was forced to go there because Washington decided to "revoke my passport".
In response, Mr Kerry said: "Well, for a supposedly smart guy, that's a pretty dumb answer, after all.
"I think he's confused. I think it's very sad. But this is a man who has done great damage to his country."