I don't like using the mv command for anything important. It deletes files as they are copied and basicly you only get one chance to get it right. 
Better to use "cp --archive".  it's the same as going "cp -a" or "cp -dpR". It preserves timestamps, links, and copies recursively.
I'd only use tar command if I am backing up stuff for storage, or am going to transfer large amount of files over the network.
Then after everything is copied, check the new root file system and make sure that everything is keen.
For instance if you have the old one mounted at /mnt/old and the new one mounted at /mnt/new, you can go like this:
ls -alR /mnt/old > cow
ls -alR /mnt/new > cow2
then:
diff cow cow2 > cow.log
That will show any differences in time stamps, sizes, links or file permission/ownerships.
I did this when I repartitioned my debian system, and the only differences were the file sizes on the directories since I switched over to XFS and it handles directories slightly differently.
It worked for me. But mv is dangerous, it's been a couple times I lost and corrupted a few hundred megs of data simply (last time was that I blew away something like 40-50 custom maps for quake3 mods that were a pain to find, not to mention a bunch of big .pak files that I had to locate (the cdrom took a couple days to find) and copy off of the cdrom again.) because something happened in the file transfer and it got interrupted, or the file system ran out of room thru braindead actions of myself.