In Sun/Moon:
Sableye, called by Carbink in Ten Carat Hill and Vast Poni Canyon
Mareanie, called by Corsola on Route 9 and the Melemele Sea
Castform, called by any Pokemon in weather based SOS battles in these locations:
Route 17
Exeggutor Island
Haina Desert
Lush Jungle
Malie Garden
Mount Lanakila
Tapu Village
Goomy, called by any Pokemon during rain based SOS battles in the Lush Jungle and on Route 17. Sliggoo can also be found, however exclusively in SOS battles.
Gabite, called by any Pokemon during Sandstorm in the Haina Desert
Source
In USUM,
All the encounters above are the same, with the addition of,
Golett, called by Krokorok in Haina Desert
Vanillite and Vanillish can be called during hail in Tapu Village and Mount Lanakila by any Pokemon.
Source