I'm not sure about "most shopping carts," honestly. Maybe some do, but I've used plenty where this isn't the case. (For example, osCommerce has shipping before billing and Amazon.com takes shipping before billing.) The main reason is that for physical goods, we need a shipping address to calculate shipping before getting billing details. And it's good practice to be able to present an order total before asking for billing information... no hidden charges here. 
We can tweak the code a little to make it easier to facilitate switching them around (namely that little checkbox for copying addresses), but the default will definitely stay the same.
FYI, you can switch the order in your checkout pane settings menu.
