Yay I’m a tag now. Anyway there are 4 ways to get Vp and a fifth way to sort of get Vp.
Play ranked playing ranked is the main way to get Vp as you get 300 Vp from every game you win and you get progress towards the battle pass. You also get a bunch of bonus Vp depending on your rank at the end of the season. Singles and doubles count separately so you can get 500 Vp at the end of the season for hitting Poké ball 4 in singles and another 20,000 Vp for hitting champion tier in doubles.
Battle Pass the Battle pass contains 10,000 Vp and if you play a ranked even somewhat consistently you will be able to get all that Vp without having to grind a whole ton.
Weekly/daily quests are another way you can get some bonus Vp. Typically you get these done by just playing ranked so count Vp form these as a sort of bonus.
Trainer/Pokemon quests These can give you a bit of Vp but like daily quests they arnt a great way to get tons of Vp and you should count these as more of a bonus than a way to grind Vp.
Now that you know the ways to get Vp we need to figure out the best way to get it. Going for as high a tier as you can reach in the mode your good at is good idea for getting as much end of season Vp as possible then in your worse at you can intentionally stay in a low tier so that you face bots. Facing bots lets you get easy wins for farming Vp and battle pass Xp. Now I do want to mention that an amazing way to save Vp Is doing things like having your Pokemon learns moves you want them to know or giving them the nature you want them to have before sending them to champions. Doing this has saved me thousand of Vp.
Tldr Try to get to as high a rank as you can in the ranked mode your best at and use the ranked mode your worst at to farm Vp by facing bots.
Source: Experience (I have 148,000 Vp)