I would never use snorlax for atking! Too slow. Snorlax is perfect for defending.
It depends on the gym but elite pokes with fast 'quick moves' like Dragonite, Vaporeon, Gyarados or Exeguttor should be there since they're good overall.
Anyways, atking gyms is so easy that you don't need high quality pokemons to do it.