Here's something I wrote about that very question a couple of years ago:
The reading of the Megillah is capped off by the singing of the joyous poem "Shoshanas Yaakov." It ends with the words "vegam Charvonah zachur latov," so too Charvonah (is blessed)... So what was so great about Charvonah that merited his placement in this song - and the "good side" of the song. Charvonah was the one who pointed out that Haman had prepared a gallows for Mordechai and Achashveirosh subsequently ordered Haman's hanging on that very gallows. So. There were plent of other players in the story. What about Hasach? What made Charvonah special?
If one reads only the text of the Megillah without any awareness of the talmudic materials on it or the history surrounding it, Achashveirosh seems like a pretty neutral king. However, having been the one personally responsible for the halting of the building of the Beis HaMikdash, he was certainly part of the problem in many respects. What one can see simply from the text of the Megillah is a glimpse into his personality. He was very impulsibve decision maker who always acted on the moment. Once the moment was gone, it was gone. His anger with Vashti spelled her demise almost instantaneously. He didn't hesitate to grant Haman's request on the spot. "Kill the Jews? Sure." When Mordechai saved his life, he was certainly most grateful but nothing was ever done. So he forgot about it completely and had to be reminded. Even with Haman's decree, he does seem to have totally forgotten about it later on.
Although Achashveirosh was not from Amaleik this trait is very much in step with the theme of Amaleik - chance and happenstance. Rashi (Devarim 25:18) explains that Amaleik "happened" upon B'nei Yisroel as they came out of Egypt (despite Midrashim to the contrary). The live-in-the-moment mentality of Amaleik is diametrically opposed to that of the Jews who understand that there is no chance and nothing happens without purpose. Not only was Achashveirosh physically a threat to B'nei Yisroel, his mentality was spiritually in opposition with ours.
Charvonah understood this about Achashveirosh. He knew Haman was evil but he knew that for Achashveirosh to adequately punish him, he needed to seize the moment. Achashveirosh was already quite agitated and might not have appreciated Charvonah's intervention. But he knew that Achashveirosh could easily forget about this if time were to go on. So Charvonah jumped in and gave Achashveirosh a great idea that was too ironic to pass up. Charvonah was responsible for making sure Haman met his just and immediate demise. If not for him - who knows what would have happened?