In terms of the "finale" episodes,
BBTBC >>> Toffee >>> Storm the Castle > Starcrushed
Bon Bon is definitely the best episode in the series all around. Completely solid from start to finish, makes great use of a lot of character, keeps the two big plotlines running at the same time and seamlessly ties them together. And great writing, direction and music to back it all up.
"Toffee" was solid, it wasted very little time and did a good job of wrapping up a lot of the loose ends that had developed over both the "movie" and past season. People got upset about how Toffee was handled but frankly they just got too hyped, they can be upset that the show didn't use him how they wanted but it wasn't bad writing at all. They addressed everything that need to be addressed with his character, he pulled off his master plan and got everything he wanted, then got written off. And people call Star's Golden Butterfly mode an "asspull" because they weren't paying attention. The most important thing was that Star, Moon and Ludo all had an excellent performance in the episode and even Marco got a cool moment after being useless the whole movie.
Storm the Castle isn't a bad episode and accomplished its purpose but didn't really excel either. There's a lot of time where not much is going on, but all the parts when Toffee is onscreen are great, which is the core of the episode. The new wand unicorn is an actual blatant asspull. Necessary, but it could have been done better.
Starcrushed was pretty disappointing. The two plots are totally disconnected until the end, and Star's plot is just fucking boring and outright uncomfortable when she starts talking with Oskar. The MHC jobs hardcore and the fights weren't impressive even visually. The highlights of the episode are Ludo's speech, Lekmet's death and of course the ending, but even that was undermined by how casually the situation is resolved in Season 3. Just a whole lot of wasted screentime.