There are many ways of beating Snorlax.
Growlers and charmers can beat any curselax unless sleep (LK), but they will lose to BD
Skarm will beat any non FBlast lax unless sleep or some luck (BD + paralysis/crit), or BD + Boom
Curse rocks will beat any non EQ lax, especially with roar
Ghosts can block non EQ lax
Steelix is a good check for offensive teams, and it can curse + roar and boom. Be careful with fire blast
Curse + roar in general can beat lax 1vs1
AA Vaporeon can beat curselax unless sleep 1vs1
Haze can stop any snorlax (something like reflect + haze dnite is very effective)
Reflect + Seed Meganium can stop it, although it won't really win
Machamp can beat any snorlax 1vs1, especially the restalk set, but it will take a lot from D-E
Powerful threats like Marowak can RK BDLax
Explosions (unless snorlax curses too much)
Encore or Perish Song will beat last mon lax
etc etc
Some combos in defensive teams:
Skarmory + Miltank/Umbreon => It covers most curselax sets p well, but a LK + FBlast set can beat the core with good prediction, or a BD + FBlast/Sleep set. A boom + FBlast set is also dangerous for this combo, because it will likely lure miltank/umbreon, so another member of the team can take advantage of it.
Skarmory + T-tar => With t-tar you lose heal bell support, and its not as good mixed wall as umbreon, but it will cover BD + LK/FB or Curse + LK + FB sets much better (especially if t-tar is using curse + roar), while also giving good coverage vs threats like Egg (t-tar covers hp fire versions and skarm gdrain versions). BD + LK + Normal Attack + EQ is annoying for this combo though.
Skarmory + Ghost => Similar to the above. With a ghost you have the advantage of being able to block spin, as well as completely walling mono attacker lax, but be careful
Growlers and charmers can beat any curselax unless sleep (LK), but they will lose to BD
Skarm will beat any non FBlast lax unless sleep or some luck (BD + paralysis/crit), or BD + Boom
Curse rocks will beat any non EQ lax, especially with roar
Ghosts can block non EQ lax
Steelix is a good check for offensive teams, and it can curse + roar and boom. Be careful with fire blast
Curse + roar in general can beat lax 1vs1
AA Vaporeon can beat curselax unless sleep 1vs1
Haze can stop any snorlax (something like reflect + haze dnite is very effective)
Reflect + Seed Meganium can stop it, although it won't really win
Machamp can beat any snorlax 1vs1, especially the restalk set, but it will take a lot from D-E
Powerful threats like Marowak can RK BDLax
Explosions (unless snorlax curses too much)
Encore or Perish Song will beat last mon lax
etc etc
Some combos in defensive teams:
Skarmory + Miltank/Umbreon => It covers most curselax sets p well, but a LK + FBlast set can beat the core with good prediction, or a BD + FBlast/Sleep set. A boom + FBlast set is also dangerous for this combo, because it will likely lure miltank/umbreon, so another member of the team can take advantage of it.
Skarmory + T-tar => With t-tar you lose heal bell support, and its not as good mixed wall as umbreon, but it will cover BD + LK/FB or Curse + LK + FB sets much better (especially if t-tar is using curse + roar), while also giving good coverage vs threats like Egg (t-tar covers hp fire versions and skarm gdrain versions). BD + LK + Normal Attack + EQ is annoying for this combo though.
Skarmory + Ghost => Similar to the above. With a ghost you have the advantage of being able to block spin, as well as completely walling mono attacker lax, but be careful