I just finished my run through and didn't particularly hunt for pokemon to use much, didn't raid, although I did end up with an entirely physical team which isn't really my preference. It does seem harder to find suitable special pokemon sometimes. Thankfully this basically didn't matter. Here's who I used (on Sword). I'd also note that I found it strange how wild pokemon were often higher leveled than trainers on a route, and that this was particularly difficult if I wanted to catch things en route, because I'd often be lower levelled and apparently catch rate tanks if you're lower level than the pokemon now, even by one or two.
Main 3:

Rillaboom: I think pretty decent, it's bulky, hits hard and handles early game fairly well with Razor Leaf and Screech, if need be. Miracle Seed is also relatively early. I think there is a dead period after Nessa, since between 25-35 he starts to feel a little week. Getting Drum Beating on evolution makes up for it though, and he has few resistances through the Gyms. Gave him Brick Break for coverage

Gyarados: I think this is going to be S tier for sure. You can get Magikarp at Magnolia's house (pool to the left), which is ridiculously early (aka before Pokedex), and it just accumulates XP until 21 with the exp share. Then, you get Waterfall and Crunch almost immediately, remember Ice Fang for SE coverage, and can go to town. You also get a Flying type which has good resistances against Bea and other Fighting/bug attacks. At 36, when stuff starts to get harder, you get Dragon Dance and the setup for most fights after this becomes DD twice (or more) and sweep, especially with Max Geyser. He is good for Kabu, Gordie and Raihan and honestly my default for basically all fights because being able to setup sweep is so good. The setup is also easy because of Intimidate as well. My run really ended up kinda being the Gyarados show. If there's any issue at all, it's that the slow leveling rate actually made me keep him out even more than I would normally (everyone else levelling way faster with the shared XP), and that probably kept me roughly in lockstep with AI levels instead of overleveling like some have said. I ended up in the late 50s for Leon. Also, Intimidate adds animation time.

Boltund: I felt like he was ok but I never actually used him that much because of my playstyle, mostly for cleaning if something lived a Gyarados attack and return KOed. Getting Spark at 20 helps a lot with Nessa. He gets Strong Jaw (50% on bite), Crunch and and you can teach Thunder Fang and Fire Fang from TM in Hammerlocke. Magnet is also pretty early. Eventually Play Rough, as well. No boosting meant I didn't use him a lot in battles, but while I still had Nuzzle it was good for catching pokemon. Levels fast.
Secondary 3:

Bisharp: Comes kinda late (I got it on the way to Circhester, route 8) but I think it's worth it. Resistances are good and Night Slash/Brick Break/Slash is great coverage. Plus, you get free Defiant boosts surprisingly often off intimidate and Snarl from Team Yell. The late evolution means that you can have a use for Eviolite until pretty late in the game. Kept through the end. Unfortunately Sucker Punch isn't available and Iron Head comes late.

Excadrill: Picked this up late in the Wild Area looking for Gallade. Didn't use it a lot, but I think if I'd tried earlier it would have been promising (pretty sure you can get Drilbur in Galar Mine). Ground/Rock/Steel would have been good coverage, gets Swords Dance, and if I had a Sand Rush one it would have been great to Dynamax, given the ability to set sand with Max Rockfall.

Gallade: Also picked this up late in the Wild Area, because I wanted to have something to catch pokemon with (False Swipe + Hypnosis). Not much else to say here, I tried not to use it in battled even though I probably could have.
Others:

Haxorus: I scooped an Axew at some point and thought I'd keep it around to have a Dragon, but this was pretty disappointing. Slow to level (never caught up with main team). Not good coverage and much worse resistances than Gyarados.

Corviknight: Was useful for Milo early, but I dropped it later to try other things so I can't speak to lategame. My suspicion is that it would tail off pretty fast.

Swoobat: Kept around for a while but not getting Simple and not getting Calm Mind until pretty late was not good. STABS were at least nice, with Confusion and Air Cutter/Psychic and Air Slash coming in at good times.

Diggersby: I caught this early and used it for free Pickup items for a while before dropping it.