First get a radio card from the kanto radio tower,then go back to the place with the snorlax and play the radio card POKEFULTE it's on the top part than poke the snorlax then it should wake up it is level 50 and if you don't believe me watch Pokemon episode
Wake up Snorlax!
You need the Pokeflute, but I forget where it is.
after u get the new radio from a guy in the lavender radio tower tune into pokeflute and talk to snorlax
Play Pokemon flute song
You get him in trade with a friend or you do the event that past already.
you have got to trade him from a past game
It will automatically come back, like the sudowoodo in Elix forest.
Battle Team Rocket in Goldenrod.
in order to do that you have to help the lady in the lighthouse
yes trade with a friend
must obtain the required number of league badges
get the sprayduck from golden rod flower shop and water it.
sorry you have to trade it to Pokemon soul silver