Fast charge is the only good solution.
There are a few things to consider when thinking about this.
1) Most charging will occur at home (or work), meaning that you never have to stop by the 'gas' (recharge) station.
2) What this means is that all of those BP, Exxon and Shell stations are going to slowly close down and become obsolete. Where will you recharge? There will probably be one or two "quick charge" stations per town and one every 50 miles or so along interstates.
3) This won't be a big deal, as long as range starts to push upwards of 300-400 miles, as then it will be "time to eat" anyway, so you can stop for 30 minutes to eat. So you drive up to where you want to eat, plug your car in, swipe your credit card ($2 minimum?), go in to eat, unplug, get your receipt/bill and then drive off with another 300-400 miles (4-6 hours) worth of charge.
4) Swappable battery packs results in too many questions and not enough answers... is this battery as good as the one I just turned in (is a full charge the same range)? Will something break when I'm moving this half ton battery in and out of my vehicle? Not to mention that they're only going to be used for long-haul transit or long-distance trips, since when I stop at home, I can plug in and have a full charge for the next day as long as I'm not driving 2+ hours a day to and from work. Why build for something when you can just say "Take a 30-45 minute lunch break and recharge", since they'll need it by that time anyway?
People are forgetting that EVs are going to completely change the dynamic of driving *and* the market - I don't need to stop every few days to get gas. It's hard to push hard to make changes like this, as switching over 90% of the vehicles on the road will completely eliminate any dependence upon foreign oil.
So build up quick charge systems and forget about swappable half ton batteries. They won't be swapped often enough to make it worthwhile for 99% of the market. Swappable batteries for semi tractors? Good plan, but for your average consumer, just make them take a lunch break.