tl;dr Always have 6 Pokemon in your party
Contrary to how previous generations work, it doesn't matter how many Pokemon you have in your party!
It does matter whether the Pokemon had actively participated in the battle.
In the beginning of the game, as I was catching Pokemon to fill my party, I noticed that the XP share didn't seem to change much with each new Pokemon. This gave me a hunch that XP share was somehow different in Sword & Shield.
- Loaded up my party with 6 Pokemon
- Found a wild Pokemon (in this case, a Lv. 30 Machoke)
- Used 1 Pokemon to defeat the wild Pokemon (in this case, a Lv. 35 Corvisquire)
- Recorded how much XP each member of the party gained, especially the Pokemon that battled
- Put every Pokemon into the box, except the 1 used in the last battle (Corvisquire)
- Found the same wild Pokemon at the same level (another Lv. 30 Machoke)
- Used the same 1 Pokemon to defeat the wild Pokemon (still Lv. 35 Corviqsuire)
- Recorded how much XP Corvisquire gained
As you can see below, it didn't matter if there were 5 other Pokemon in my party, or if there was only 1, Corvisquire gained around 700+ XP.
(Corvisquire is Lv. 36 in the last screenshot because it had just leveled up from the fight.)
Not pictured below, but I also tried this with 2 Pokemon in the party and 3 Pokemon in the party. In both cases, the number of Pokemon didn't change the approximate amount of XP gained by each Pokemon.
Note: I'm open to other players doing more experiments to show a different conclusion.
Also, this actually raises a lot of new questions about the XP share algorithm:
- Why did Corvisquire gain less XP in the second battle? Or why did it gain extra in the first battle?
- Was that related to the number of Pokemon in the party? Was it related to amount of XP it already had?
- Was it related to the stats of the Machoke?
- Was it related to the moves I used?
- Is it possible to cycle through all my Pokemon during a battle and have them all gain almost double XP?