Know When to Hold Them, Know When To Fold Them
You can always negotiate. Always. So long as you are entering in to any sort of agreement, you can withhold your consent. They cannot force you to take on new job responsibilities.
The question you should be asking is...
Do I Have Any Leverage When Negotiating a Promotion?
Joe is a widget-maker. He makes a salary of 80 clams a year. He applies internally to become a widget-overseer. On the open market, he knows that a widget-overseer should make 120, but his company only offers 100. Should Joe risk the raise from 80 to 100 in order to fight for a raise from 100 to 120?
This entirely depends on Joe's alternatives to this promotion, the company's alternatives to Joe.
If Joe is being selected because the company needs a widget-overseer now and Joe is the only competent candidate short-term, Joe has a lot of leverage and can push for more salary. If Joe is critical to the company's success, and the company can't afford to lose Joe to another widget-making company if they refuse his request, he has a lot of leverage. If they are short on widget-makers and Joe threatens to leave the company if they refuse his request then he has a lot of leverage.
If Joe is just your average Joe, there's a chance that he wouldn't be able to get a job as a widget-overseer on the open market (as he's only ever been a widget-maker and has no "overseeing experience" to get his foot in the door). There's also a chance that his widget-maker coworker Jane is willing to become a widget-overseer for 110, which will really hurt Joe's chances of getting 120 (all things being equal, they can make Jane happy by giving her 110 to do the same job).
Why Negotiating Salary when Promoted is Tough
When you are applying for a new job, you canvas far and wide, create several leads for jobs, play them against each other, and can (hopefully) say with a straight face, "I am being offered 120 to do the same job by Acme Widgets down the street." If they refuse to pay you 120, you can walk away with almost no risk to yourself (since you have alternatives).
When you are getting promoted, however, you generally didn't do so by applying for the same position in many different companies. Your choice tends to be "this promotion or wait for next year". This really limits your ability to walk away from the negotiating table, since you really don't have anywhere else to go.
The other issue with negotiating internally is that at the end of the day, regardless of the outcome, you will still be working there. If you push for too much money and they turn you down, you are (likely) going to hurt your chances of being considered for promotion next time since they know you are big on the money.
In the worst case during a normal job interview the company decides they don't want you ever working there, and you eliminate a company from the pool you can apply to. The worst case in pushing too hard during a promotion negotiation is that you fail to get the promotion at all, destroy any potential of future advancement within the company, and are forced to look for a new job rather than enjoying a bigger paycheck.
Humans are Risk Averse
Even if most people can't articulate, they can figure out the above points on their own. We are usually happy to accept more pay without rocking the boat (even if it is below market level) because we improve our situation. Even if we are willing to look for a new job, you are going to have better luck after accepting the promotion and pay raise.
At the same time, most people realize that they can get more money by job-hopping due to the relatively low quality of life wage increases over time (2.9% in 2012), and the relative jump in salary many people can get by going elsewhere, while companies (like Google) realize more and more that constant hiring costs a lot more money than keeping employees happy.
So if you like the company and aren't looking to maximize your income, you should negotiate (assuming you have leverage). Adjust as needed, but something like this:
Start off positive
Hey HR Person. I really appreciate the company giving me this opportunity -- I have enjoyed working here for the past X years and I really want to continue to grow along with this company.
Justify your position
As you know, external hires get lower performance reviews than internal promotions, yet get paid more. I feel that I have shown that I will be good for this position by doing A, B, and C, and that I can provide as much in this position as anyone you could find on the open market.
Make your request
You guys are offering me 100 clams to do this job. Last time you were hiring for this position in 2009, you were offering a salary of 120 or so. I would really appreciate it if you could raise my salary to at least 110, if not 120 to match that level.
Whatever you do decide to do, be careful not to give an ultimatum, "If you don't match my request I may have to find another job..." Just remind the HR person of what they already know -- you're a bargain and will be quicker to step in to the role than an external hire would be, so it's in their best interest to show you a bit of consideration. Make the request reasonable and based on something other than, "Monster.com shows similar jobs offering 140!" which makes it sound like you are playing the market and looking at other opportunities just in case.