1) Perl creates a new directory because not every version (or subversion) is binary compatible. This means that if you had installed any perl libs that used XS (C code) they would not be guaranteed to work with a different version of perl than the one they were compiled against. So Perl avoids these problems by creating a different directory so that multiple perls can exist on the same system.
2) AFAIK it is not completely safe to just mv the directories. Only if you know that they are pure perl should you risk it. Even then you won't know that the old module passes it's test suite under your new version of Perl.