My DD4 also did it onboard, and loved it! She said it did not hurt, and it was a highlight for her. My DD2 even got a braid, which she loved.
Some tips from reading these boards:
1. If you go with Disney, and you have any problems, they will comp the service or have it re-done. If you do it on an island, you'll be long gone.
2. Warn your child it may hurt, then if it doesn't, no problems.
3. Bring your own comb. I really can't remember if they used it, but I brought it. On the ship, they have them soaking in disinfectant.
4. They book up fast on board. You can sign up the afternoon you board. Do it then. You'll see it in the Navigator as to where to go and when reservations are open.
5. To get them out easily and with no pain: Coat your child's hair in cheap conditioner - Suave? Once it's soaked in, the braids will literally slide out. Plus, your child's hair will be really soft when they're gone!
Ours lasted 3 weeks, but DD has heavy, coarse hair that holds braids well. She loved them, and felt so pretty.
It seemed to me most little girls on board have them by the time the cruise was over.
Good luck!