Your first guess, of course, would be Charlie. He gains the most, he suffers the most. He started from the bottom and now he's here. However, he doesn't change. The protagonist is supposed to change via the story. Charlie starts with an optimistic and cheerful attitude and maintains that disposition throughout. He never accepts charity or complains about a thing. Even among the craziness and dying children left and right, his faith that Willy Wonka is the greatest thing since sliced bread never wavers.
Maybe you could say that the moral of the story is that faith and perseverance pays off in the end. But Charlie doesn't learn that in the end. We do. Charlie knew that all along. Like in "The Super Speedy Cider Squeezy 6000" the ends simply unravel from the means.
Okay, let's take a different angle. What does Charlie want? To win the chocolate factory? No, Wonka never reveals his ultimate purpose until the end. Chocolate? No, too simple. He wants to stop living in such squalor. Poverty is the antagonist here -- forcing his grandparents into a single bed, his father at a toothpaste factory, and cabbage soup for dinner every night. But Charlie is generous to his family to a fault, offering his birthday gift of a chocolate bar to everyone in his family. He just wants a little bit of happiness.
So I find it disturbingly ironic that the turning point comes as a result of a moment of weakness. Charlie finds a single dollar in the gutter and, rather than bring it back to his parents so maybe they could have a bit of protein with their dinner, or wisely invest it in the futures market, he spends it on candy. The result of this bit of luck is even more luck as he finds the last golden ticket -- a one in a million billion chance. As much as I love the subversive nature of Roald Dahl, I gotta ask -- what message does this teach. Fortune favors those who give into greed and indulgence? Even if you can't put food on the table? I'm sure I'm overanalyzing here.
Even besides the story's big bang, Charlie isn't changed by the end. He still retains his family values, he suffers no obstacles in his quest to complete the chocolate factory tour, and all the secrets of Wonka's lair are given freely. Even in the movie, the Slugworth/gobstopper subplot means very little. I didn't even know he accepted the challenge until they actually get to the point where Gene Wilder gives them out. Perhaps it's not a case of the protagonist's goals driving the story, but the antagonist's? But the primary obstacle (poverty) isn't very active.
Then is Wonka the protagonist? He does have a goal (to find an heir), but he doesn't learn anything either. Neither is he the antagonist. Although narcissistic and ignorant of the potential of his own inventions, he's not preventing Charlie from getting what he wants. He offers it freely, once the other children are out of the way.
The other children undergo the most change in all scope. One assumes that when they trickle out of the factory, they've learned their lesson. At least Wonka hopes so. They've all undergone a physical change, certainly. Gloop is slimmer, Mike Teavee is taller, Violet Beauregarde is blue, and Veruca Salt is covered in garbage. But they're clearly not the protagonist. They're in competition with Charlie for the chocolate factory (a competition he doesn't even know he's in). Not to mention that they're not more than one-dimensional archetypes. Each has one defining characteristic and no backstory.
Is there anyone else? Grandpa Joe? No. At best, he's a deuteragonist. A mentor, like Obi-Wan Kenobi, to provide exposition and guidance.
So I think we have to call Charlie the main hero. The story is absurd anyway, so this kind of analysis is no more than a mind exercise. However, IMO, this lack of a protagonist is one of the things that prevents Willy Wonka from being a great movie instead of a really good one.
Also the songs.