Most Versatile Pokémon Move sets, types And Pokémon

Notes:
This guide may not be perfect due to human errors & new adjustments/new 
Pokémon added to the game by the official. 
By using the four versatile Pokémon move sets, this allows your Pokémon to be all 
rounded in battles that can beat almost any Pokémon by being super effective.
I have tried to filters out those Pokémon that have weakness against these four 
types of move sets.
These moves are not effective against Fighting, bug, water type’s Pokémon.
As long your Pokémon can learn at least one type of these move sets is already 
consider as great. You should maximize your Pokémon potential to its fullest by
teaching them various/versatile types of moves, instead of just sticking with one
type of move sets for all the four slots or just with your favorite moves. If the
game have Variant Pokémon (special appearance/ability Pokémon), unique move sets or 
fake Pokémon (Like fire Pokémon allow to learn water type moves.) being exclusive to the
game.
Good Pokémon: Wigglytuff, Clefable, Granbull, Flabébé,
Floette, Florges, Aromatisse, Slurpuff,
Sylveon, Primeape, Machamp, Hitmonlee, Hitmonchan,
Hitmontop, Hariyama, Conkeldurr, Mienshao, Medicham, Gallade, Beedrill, Venomoth, Ariados, Dustox, Scolipede, Armaldo, Crustle, Shuckle, Kricketune, Galvantula, Mega Blastoise, Golduck, Kingler, seaking,
Vaporeon, Feraligatr, Politoed, Octillery,
Wailord, Milotic, Rainy Castform, Huntail,
Gorebyss, Luvdisc, Floatzel, Shellos, Lumineon,
Samurott, Basculin, Alomomola, Clawitzer, Azumarill, Ludicolo, Mr. Mime, Gardevoir, Heat Rotom, Skarmory, Kingdra, Sableye, spiritomb 
Good Legendary Pokémon: Mega Mewtwo X, Suicune, Kyogre,
phione, manaphy, Palkia, Xerneas, Keldeo