As much as I love Serena, I think I am going to have to go with May here. For the longest time, she was always my favorite character. Not only was her friendship with Ash amazing, I loved how they ended their time together with a battle between Blaziken and Sceptile and then dividing the ribbon in half. She also had the fullest and one of the better teams amount Ash's traveling companions.
Serena is second, but only barely. XYZ, for me, is peak for the Pokemon anime after struggling for so long it seemed like. I know her love for Ash makes a lot of people not like her, but let's face it, most people end up not liking the character that loves the main character. However, that is not the reason she is my favorite. My reasoning for liking her is the fact she is the only character that has had a small amount of story with Ash before they traveled together. Which I think Pokemon could use more with. She cared for the group and I always love when main characters exchange gifts with each other. What makes her second, is the fact she didn't have a full team which was extremly disappointing.
Dawn is third. This was mostly because her time reminded me of Ash. She also had more development than other characters. She actually struggled to the point where she almost gave up on contests. She also struggled to train Mamoswine. I love her character and how her and Ash seem like siblings. Normally I'd be disappointed that her pokemon didn't evolve, but I think it matches her better. She has also come back the most at this point, aside from Brock. And while you'd think this would make her first... my dislike for the Sinnoh Games and when I originally stopped watching Pokemon happened in Sinnoh. I still haven't been able to rewatch all of Sinnoh, so I cannot completely judge it like other series.
I know you said top three, but I have to give an honorable mention to someone. I don't think it is fair to put him in the top 3, but he needs to be mentioned. And that goes to Tracey. I my opinion, I think he would have been amazing to travel with. I loved him drawing everything. I loved all his drawings. His struggle with Scyther was similar and he used Marill and Venonat in very unique ways when it came to locating stuff. Even making Venonat one of my favorite pokemon at one point. Marill is also rarely seen in the anime. But he has been shafted the most out of every single character, not even making a reappearance since his departure. I just wish he would return for a few episodes, but I doubt that will happen. Especially if it has yet to happen in Journeys.
Before i give any imput it does genuinely baffle me how people can put May higher on the development scale than Dawn.... Dawn is literally an improved version of may in nearly every category but.... i guess opinions are wopinions afterall.
i didnt watch the anime past sinnoh so not sure of the future companions