If you extracted the files in a directory where you hadn't modified or moved any files for a few minutes before the extraction, you can tell the extracted files by their very recent ctime. This isn't perfect (if a directory contains an extracted file, you can't tell whether it was created by unzipping or it existed before (perhaps being empty)) but works reasonably well in practice.
The following GNU find command moves files and directories in the current directory whose ctime is less than 2 minutes ago to /other/dir. ls -lctr may help find a suitable cutoff time.
find . -mindepth 1 -maxdepth 1 -cmin -2 -exec mv {} /other/dir \;
Zsh equivalent:
mv *(cm-3) /other/directory
The following GNU find command moves files with a similarly recent ctime in the directory tree rooted at the current directory to a similar path under /other/dir.
find . -mindepth 1 -cmin -2 -type f -exec sh -c '
for x; do
mkdir -p "$0/${x%/*}"
mv "$x" "$0/$x"
done
' /other/dir {} +
Zsh equivalent (almost: this one reproduces the entire directory hierarchy, not just the directories that will contain files):
autoload zmv
mkdir -p ./**/*(/cm-3:s"|.|/other/dir|")
zmv -Q '(**/)(*)(.cm-3)' /other/dir/'$1$2'