Hi!
When I'm asked by brides how long they should book for, I tell them that its dependent on how many guests they are having, what the itinery is and of course how much do they want covered. You have to weigh up whether or not you are willing to sacrifice "getting ready pics" or "some of the reception.
I think 3 hrs is perfect for "just the couple" weddings or small groups, 5 hours is great for most weddings and 10 is for those who really want it ALL covered. You can arrange for cake cutting and toasts to happen earlier as well to make sure the photographer is there. If you need to use friends and family to take pics, let them take the party pics. I hope this helps!