Gyarados is my 2nd favorite Pokémon from Gen 1 (behind Dragonite) and my 2nd favorite Water Pokémon of all time (behind Greninja). I almost always have him on my team for a playthrough of any Pokémon game. Here are some competitive and fun sets I have used that are still viable:
Specially Defensive Physical Sweeper:
Gyarados @ Assault Vest
Ability: Moxie
Tera Type: Ground
EVs: 184 HP / 72 Atk / 252 Spe
Adamant Nature
- Aqua Tail / Waterfall (Water STAB)
- Avalanche / Ice Fang (Dragon/Flying/Grass coverage)
- Earthquake / Tera Blast (Electric/Poison/Steel coverage)
- Stone Edge / Temper Flare (Bug/Ice coverage)
This set takes advantage of Gyarados' high SpD! Assault Vest makes him a great switch in against special attackers, while Moxie and Adamant Nature ensures that he can still sweep even without Dragon's Dance. EVs are for bulk and speed. Ground is the preferred Tera type for a Gyarados sweeper. Water STAB is your preference. FOR THIS SET ONLY Aqua Tail is better because you are not getting buffed by Dragon's Dance, therefore there are a lot of Pokémon that out speed you, therefore the flinch on Waterfall is a non-factor. Same thing for your Ice move. There's no real downside to running Avalanche, but it's personal preference. When choosing between Earthquake or Tera Blast just be mindful if you're in singles or doubles and if you are running Flying types or Pokémon that have Levitate or Protect. Last move should be whatever your team needs most, you can also do Crunch to hit Ghosts and Psychics for super effective damage.
Bulky Rain Dance Setter:
Gyarados @ Damp Rock
Ability: Intimidate
Tera Type: Water
EVs: 240 HP / 172 Def / 96 SpD
Impish Nature
- Rain Dance
- Rest (Sustain)
- Taunt / Thunder Wave
- Waterfall (STAB)
Bulky Hazard Support:
Gyarados @ Rocky Helmet
Ability: Intimidate
Tera Type: Ground -OR- Water
EVs: 240 HP / 172 Def / 96 SpD
Impish Nature
- Bulldoze / Scary Face (Speed control)
- Dragon Tail / Roar (Phase)
- Rest (Sustain)
- Waterfall (STAB)
Niche support sets for hazard and weather teams! Intimidate is OP and I don't think it needs much explanation. EVs and Impish Nature are for bulk. Rest and Waterfall are a must but everything else is flexible to your teams needs.
Fast Physical Sweeper:
Gyarados @ Loaded Dice
Ability: Moxie
Tera Type: Dragon
EVs: 4 HP / 252 Atk / 252 Spe
Jolly Nature
- Dragon Dance (Atk + Spe boost)
- Iron Head (Fairy/Ice coverage)
- Scale Shot (Tera STAB)
- Waterfall (STAB)
Loaded Dice build. Set up with Dragon Dance (attack and speed boost) and then sweep with Moxie (attack boost on KO) and Scale Shot (buffed by Loaded Dice and Tera Dragon AND you get a speed boost after every use!). Earthquake is usually the standard coverage move but since you are Tera Dragon then you need a way to remove Fairy and Ice threats immediately, so that's why Iron Head is with this set. If you have an aversion to using Iron Head for whatever reason then just take Protect.