Pikachu vs Zoroark - Pretty great. It had lots of high speed moments.
Ash bringing back the strategy he used against Hala was really nice. I was really surprised at how they turned it around, though. Not merely dodging the hands, but breaking straight through them, causing Zoroark to get hit by Breakneck Blitz and its own attack.
The parallels betwen Ash and Gladion are really cool. Gladion didn't have to run up to Zoroark like Ash did for Pikachu, but again, he did. Their shared laughter. There's this mutual respect between them, and it's so nice considering how Gladion wanted nothing to do with Ash when they first met.
Lycanroc vs Lycanroc - Also high speed, but with more rocks. Lots of rocks.
Gladion's strategy of using Stone Edge to limit Ash's Lycanroc's movements. Both Lycanroc breaking through the other's Stone Edge (though Ash's was a bit silly due to Bite's animation). And finally, the return of Ash's Lycanroc's Counter.
Ash's reaction to winning was pefect. He just stood their, mouth agape, while everyone cheered him on. He was just as surprised as we would be if it wasn't spoiled a few days ago. Ya earned it, Ketchum.
Y'know, something I really like was how even it was. No special Abilities that work far differently than how they're supposed to. No putting Ash's opponent at a disadvantage for no apparent reason. No special anime-only power up that amounted to nothing despite all the hype. Just two boys and their dogs fighting evenly.