A long time ago, parallel was preferred because the limitations to speed were in the copper wires themselves. You simply couldn't push a very fast signal through, so the need to put multiple signals together was used. However, as you know, technology changes. Wiring/routing has advanced significantly to the point where the individual wire delay can be minimal (very fast). The main problem now is skew, crosstalk, noise, etc. These problems weren't very big when we were running at 1 MHz signals but they're a huge problem at the GHz range over a long distance (across the motherboard). So, as conditions change, methods must change. So the solution was obvious, use less wires. Instead of having 32 wires running at 100MHz - 133MHz, we can have 2 wires running at 2.5 GHz - 6 GHz. And the ability to push serial link speeds isn't difficult whereas the ability to push parallel link speeds increases exponentially. So, for right now, serial seems to be outpacing parallel.
Another advantage is granularity. With a parallel link, you need to organize your data and send them in chunks from one point to another. Parallel links are expensive (many wires) so you can't have many of these, so you'd need controllers to share these wires which leads to all sorts of scheduling and resource conflicts, etc. With serial, the links are so cheap that there's no need to share them. Each device gets their own link. For areas where large bandwidth is needed, simply put many serial links together. They don't interfere with each other as they're independent. Synchronization is done at the receiving end as opposed to having to be timed in the wires themselves. It does require a more sophisticated receiving end than plain parallel, but the transfer rates you can get are much greater.
So in short, serial is more flexible, cheaper and ultimately easier to improve upon in the future.