He is my favorite rival actually. Ash being the underdog got tiring after the 10000x time, so it was interesting to see a new take where the rival is the underdog who eventually becomes his equal. Sawyer also had a lot of personality and wasn't a stoic edgy character like Paul, Trip, Alain and Gladion were.
I've seen complaints about his quick growth, but then again some people are just quick learners and more focused than others. Besides, it is not like he was an entire noob by the time he appeared. He already had challenged some gyms and earned some badges, traveled both Hoenn and Kalos and caught more pokémon. If anything he already had more experience than most of the SM cast.
I also don't think he was introduced too late. He first appeared in XY064 and then met Ash a few episodes later when he was challenging Valerie. A lot of the League rivals only appear at the end of the series. Guzma only appeared in SM115, Hau only appeared in SM097, Virgil only appeared in episode 102, almost every single AG rival appeared either in the League arc or near the League arc, so did Tobias and several others. Nonetheless they were still able to do with Sawyer what they wanted to do and his character felt like he came to a full circle, unlike Hau, Barry and many others.