always do the presents last. if you do them first that is all your child wants to do is play with his new stuff and won't pay attention to the guests. Usually get the toys broken from guests too and then your child doesn't get to enjoy them first. We usually eat the food first, do games and activities--last game is usually the pinata--I give out bags with a few pieces of candy--usually a few of the mini candy bars so everyone has the same amount of candy bars then they put the candy they collect from the pinata in the bags. Write the childs name on the bags when you pass them out or before the party if you know who will be there. That way when they lay them around the house they know which ones are theirs and don't argue over who's bag is what. The small sandwich bags or quart size baggies are perfect for this. They go home with a full bag of candy and are content and happy even though the bags aren't that big. The little loot bags at the dollar store also work fine. I buy the cheaper candy for the pinata--look for candy that don't break easy. tootsie rolls, laffy taffy, gum, smarties, the small suckers don't break as easy as the bigger ones, mini skittles, nerds, runts, and stuff like that. Candy bars tend to get mashed or broken. After the pinata we have the cake, then open presents 15-20 minutes before the party time is over.
2-3 hours is plenty of time to have a party and you will be tired after it's over especially if you have been entertaining them the whole time.
Our parties usually go like this schedule.. have learned through the years what works well as far as keeping the kids busy.
arrival time- 20 minutes--get names and phone numbers of each parent that just drops off their kids for emergencies as some will go shopping or run errands while the party is going and you need a contact number for where they will be (usually a cell phone). The kids play and explore all over the house to get familiar where things are and kids always want to see what toys your child has in their rooms or play room. I do have them pick up the toys before we start the rest of the party.
after all the guest arrive they come to the kitchen and eat pizza or whatever snacks we have for the party. this is usually over in 10-15 min.
once they are done eating we start playing games for about 1 hour. pin the tail, a target game, twister, pinata, Disney Trivia if we need to fill more time as it is a longer game. We have a lot of games and always plan for more activities than you need. Art and craft activities are good to fill up time as well. Figure each activity takes 10-15 min. Kids move and play fast so their games end pretty quick so have to move on to the next activity right away before you lose their attention and they start running all over the house.
about 30 min before end of party we have the cake then open presents.
Have fun and the more prepared and organized you are the more fun the kids have.