I think you can proceed like this :
- A is your original design, GDSII or OASIS, zipped or not
- B is a design file containing one top cell for each cell you want to replace
Just run Calibre DesignRev in batch mode :
calibredrv -a layout filemerge -in A -in B -out A_swapped.oas -overwite
This 'layout filemerge' command is very fast since it does not actually load the designs into DesignRev like for viewing.