The moveset is this:
Smeargle @ Amulet Coin
Ability: Technician (this is the most optimal ability, but Own Tempo won’t hurt you that much. Moody might lower your accuracy, so I’d avoid the HA)
- Happy Hour
- Pay Day
- False Swipe
Happy Hour doubles the amount of money you get in a battle, which stacks with Amulet Coin (and Roto Prize Money) to octuple the amount of money you get from Pay Day. In case you didn’t know, Pay Day is a move that, when used, will give you money equal to 5 times the user’s level when the battle ends. For a level 100, Happy Hour, Amulet Coin, and Roto Prize Money raise that to 4000 Pokédollars per use. Additionally, “If the user levels up during battle, the amount of money is now calculated based on the new level, not the level at which the move was used.”
Happy Hour is an event-exclusive move that, in USUM, can be most easily obtained by the Own Tempo Rockruff, since it knows the move when you receive it. If you don’t have a Pokémon that knows this move, you can ask to trade or borrow one on a trading forum like Reddit or just not use Happy Hour. It’ll make the money grinding slower, but it won’t stop you altogether.
Roost and False Swipe are to perpetuate an SOS chain, which is the best method for grinding money quickly, especially if you’re using Roto Prize Money, since that has a time limit but won’t run out until the end of a battle. If your Smeargle is below level 100, your best option is to chain Chanseys to level it up as quickly as possible, but if once you're at level 100, it doesn’t matter too much what you chain. You will also need some Leppa Berries to replenish Pay Day during battle.
The amount of money you can get through Pay Day in a single battle might be capped out at 99,999, but I had trouble finding a reliable source for that. If that is the case, then you’ll want to end the chain after 25 Pay Days (or 50 without Happy Hour). Additionally, you won’t receive money if you end the battle by catching the Pokémon or running away; you have to KO it.