Just before confrontations with the "boss" of a dungeon or adventure, I often like to ham it up a bit and let the BBEG-of-the-week gloat a bit about how brilliant their plan is, or what a thorn in the side the PCs have been, or about how the PCs will never win, etc. Usually this is pretty brief, but it sets the tone of the encounter, and generally allows the players a window to say anything they wanted to say before we start the final combat. It also gives the players a chance to ask questions in case they missed something about the plot and they'd like it cleared up in-game.
Usually this goes just fine, and the players seem to generally like it, but sometimes a player who doesn't quite fit the narrative-focused mindset of the rest of the party gets a little restless and throws the first punch. Again, usually this doesn't happen, but occasionally it does.
If a player decides to do this in a given speech, how should I respond? I've defaulted to making everyone roll initiative when a player says they attack in a situation like this. After all, I don't really want to reward the players for attacking in the middle of dialogue, since I (and most of the players) find the dialogue to be really fun, and it mostly exists for the players' benefit, anyway. Besides, when the villain finally attacks, they don't get a surprise round -- their attack just means everyone has to roll initiative.
On the other hand, I feel like the player who threw the first punch might feel a little cheated in not getting a free shot off. They might be trying to have a cool moment of emulating Han Solo, blasting the enemy when they're caught off-guard gloating. Since I make them roll initiative, though, I rob them of this moment and Greedo might get the first shot off, anyway.
So, in this situation, should the player who fires first get a surprise round, or am I handling it correctly in making everyone roll initiative?
5e is the relevant edition, here. Quoting the rules is nice, but I'll take a well-reasoned argument for one way of playing or the other over a strictly RAW answer.