Here's how I handle that:
After the player makes the speech for his PC, I consider the reaction of the NPCs. If the words are obviously enough to convince the NPC, there's no need for a roll. The opposite is also true - if the words are obviously not going to work, there's no need for a roll. If I think the NPC's reaction is in doubt, then I ask for a roll.
I tend to make the player roll first. *Then* they make the speech. That way, what they say is somewhat dictated by the die roll......it turns into an opportunity to think up a fun way in which your character mucked up the dialogue, if the roll doesn't go well.
Otherwise, you end up with situations reminiscent of the player who has a barbarian and uses INT and CHA as dump stats to beef up STR, DEX, and CON. So he's got STR 19, INT of 9, and CHA 6....yet he's asking as party leader, and communicating with the player's level of verbal sophistication to NPCs. That just doesn't make sense. If he's got a lower than average intelligence, and a really low charisma, then play him as such. Similarly, if you roll poorly on a Diplomacy check, then play out that poor roll.
Banshee