Here are my opinions on how should be your team.
Snorlax: Belly Drum, Brick Break, Rest, Body Slam
Snorlax has a large amount of HP, so Belly Drum would be a good choice, in case you have less Hp than maximum, you could use Rest, then Brick Break or Body Slam to take out quickly the opponent. To make it fast, you could equip him with a Lum Berry.
Or the usual but always good Leftovers.
Charizard: Fire Blast, Rock Slide, Dragon Claw, Fly
It's a good coverage moveset against many types, you could also max out of PPs FB, and with a couple of X Special you can also take down Agatha's Gengars. It gives a good hand against Lance, also with that darn Gyarados. A Dragon Fang (foundable on wild Dratini or by trading with R/S/E) gives a good boost against Dragonites and Kingdra.
Raichu: Rain Dance, Thunder, Iron Tail, Strength
Rain Dance + Thunder? An awesome combo, the first move gives a 100% accuracy at the second one, making Thunder a pain in the asses of everyone. Good to take out with a 1HKO (if you're lucky) Crobat, Gyarados, Blastoise and sometimes also Aerodactyl.
Iron Tail helps with Tyranitar, and with most of Lorelei's Pokèmon too.
Strength does his work with all the other Pokèmon, except for Steelix.
You shouldn't give him Thunder Wave, he has already Static, that paralyzes the opponent.
Nidoqueen: Surf, Ice Beam, Shadow Ball, Body Slam
Awesome moveset. She can do his ****in job against Bruno's Steelix, half of Gary's team, and Agatha and Lance's entire team, all by herself. She can also paralyze with Body Slam, or poisoning with Poison Point... 'Nuff said.
Gyarados: Dragon Dance, Waterfall, Earthquake, Taunt
If you can find another TM26 (trade by another game), you're very lucky.
First, use Taunt, to prevent spamming a move on Gyarados while he charges up with Dragon Dance (+ 2 Attack and Speed), then spam Earthquake and Waterfall. Again, 'nuff said.
Pidgeot: Aerial Ace, Steel Wing, Featherdance, Facade
IDK how much he can do in E4. Well, spam Featherdance to low Attack for 2-3 turns, then Aerial Ace and Steel Wing (use a X Precision first). If he gets a status condition (not freezing, attracting or confusing) use Facade, it will do x2 damage.
That's all, even if I could suggest you to replace Pidgeot with a Psychic or Grass-type Pokèmon.