I guess this is not an EDA question, but I am torn.
First, a little about me. I have very little experience with PCB routing. I've done a couple of boards as a student a long time ago. I'm a CS guy who has done firmware and drivers for several decades, but now have a project. I am designing a small keyboard (*why* is a long story). This is a proof of concept for a larger design. I don't feel there is much value in building a blinky board. I'm pretty sure that I know what this MCU needs.
I am using a AT90USB1286-AU mainly because that is one of the few suitable parts I was able to source recently. I can find a lot of information on similar Atmel processors.
I have the Teensy++ 2.0 schematic which is a good minimal design. (I don't feel good about how there was no protection on the USB port, and they have a pull-down resistor on ~HWB). But that is the arrogance of the clueless talking.
I need USB for power and data, so I have a differential pair coming off the edge of the board. The MCU also has a large number of Vcc pins. I cannot figure out how to route this board so that they don't cross. I don't think that it is possible, but I haven't sat down and written up a proof. I assume that it is a really bad thing to send either of these over a via, but clearly have no choice. My current thought is to send Vcc over the via and not risk messing with the differential pair.
I am curious how someone who knows what they are doing would approach this.