Compared to these comments my teams are utterly boring, but they have served me well. I tried to vary my teams in every version. Also I wanted to have my full team consist of pokémon I could catch at last in Poni grove, as I wanted my team to be around the same level.
My sun team consisted off:
Decidueye
Alolan Raichu
Torkoal
Arbok
Jelliscent
Zoroark
My moon team consisted off:
Primarina
Gengar
Ribombee
Gyrados
Nightform Lycanrock
Salazzle
My Ultra sun team consisted off:
Incineroar
Persian
Gigalith
Toxapex
Vikavolt
Wishiwashi
My ultra moon team consisted off:
Decidueye
Kommo-o
Mimikyu
Arcanine
Tyranitar
Metang
When I'm going to restart the games I will have at least once these teams, because i post game hunted these pokémon to create my perfect team, and have possibility to trade with friends who have the games too:
team 1 (very varied in types)
Torracat (everstone)
Drampa
Probopass
Trevenant
Turtonator
Sylveon
team 2 (very varied in types)
decidueye
Alolan Raichu
Salamence
Alolan Marowak
Aurora (fossil UM)
Golisopod
team 3 (ghost/ghostcombined types)
Decidueye
Mimikyu
Gengar
Palossand
Drifblim
Alolan Marowak
team 4 (alolan variations)
Decidueye
Alolan Raichu
Alolan vulpix
Alolan Marowak
Alolan Exeggcutor
Alolan Golem