Update to Maps 6.9.0 (released 2012-06-27) or later if you not already have done so. Google added the feature one you wanted:
What's in this version:
* Save maps for use offline
Besides this: Cached tiles for Google Maps are saved to the SD card.
To also answer your exact question (for users that cannot upgrade):
Use Android's provided 'move to sdcard' mechanism or install some 3rd party apps to do it (Link2SD, App2SD skripts, most need a custom rom however).
If all above is not an option and you like to do it manually:
- Root access
- Know which directory you want to move
- Be sure that directory doesn't contain executables
- Awareness: /sdcard/ is world-readable and many apps can write to it.
You might not want to expose sensitive data to other apps
- Be sure the app is not running.
- If something breaks, you might fix it by clearing the appdata
- The app might break if sdcard is not accessible (e.g. phone plugged into PC)
A. You need to find the package name of your desired app (just reverse the steps here, aka go to the Google Play website of the app and see the package name in the browser's URL, for Maps it's 'com.google.android.apps.maps').
The location for the app's internal data is then: /data/data/[PKG_NAME]
B. Find the big subdirectory that you want to move, use a terminal emulator or adb shell access to execute something like this on the device:
me@workstation:~$ adb shell
root@android:/ # cd /data/data/com.google.android.apps.maps
root@android:/data/data/com.google.android.apps.maps # du -sh *
C. Move & symlink
mkdir -p /sdcard/Android/data/[PKG_NAME]/linked
mv /data/data/[PKG_NAME]/[BIG_DIR] /sdcard/Android/data/[PKG_NAME]/linked/[BIG_DIR]
ln -s /sdcard/Android/data/[PKG_NAME]/linked/[BIG_DIR] /data/data/[PKG_NAME]/[BIG_DIR]