I would have both systems running concurrently. Gradually migrating users/customers off the old one onto the new one.
The benefit of this is that you can test the new system with a subset of customers, avoiding a 'big bang' change over.
The downside is that you have to maintain two systems rather than one. However, if you break it down, you probably have several 'systems' in your company so it probably more like 11 systems instead of 10. which doesnt sound so bad does it?
It also forces you to really look at and automate your data migration process. as you will have to run it multiple times. This definitely results in a better product than the temptation of manual 'we are only going to do it once anyway' steps of the big bang approach