@ Lefty: Ditto. The jumper pins are the most foolproof method, though not as convenient, and convenience / ease of use is an understandable reason for the Arduino hardware team to choose the path they did. I used that approach for home-made boards for a long time, pretty foolproof and up to 4 external power sources can be selected at will using a "+"-shaped pin header + jumper shunt, with the center pin being the one that supplies the board and the ends of each arm being a potential power source.
Another approach is to simply dump all external power via Schottky diodes into a common power rail. That works as long as every component is OK with the incoming power varying somewhat (4.7-5V). The Arduino can certainly handle that and many 5V logic chips too but there are potential issues with Analog measurements unless you implement an external reference of one kind or the other (Zener diode + resistor into AREF, for example).
Some of my home-made boards are 3.3V only, making a 4.7-5V common-bus approach very easy to implement - i.e. the downstream LDO doesn't mind one bit if the incoming voltage drops to 4.7V, that means less heat to dissipate.