For the exact prompt, a wrapper is probably the way to go. Walk the source tree and map each relative path to the destination. If both paths are files, use stat to display their sizes and modification times, then ask whether to replace or skip. Copy new files without prompting if that's the behavior you want.
You'll also need decisions for a file conflicting with a directory, symbolic links, permissions and errors. Size and modification time are useful clues, not proof that contents match. Handle filenames safely, including spaces and newlines, and don't parse ordinary line-based file listings.
For a move, remove a source file only after its copy succeeds. Leave skipped or failed files in place, and remove source directories only when they're empty. Test on disposable folders first, especially around interruptions and existing destination files.
Zazzy:
Shell aliases can make the interactive options convenient, but don't rely on an alias inside a script. Put the option in the command itself.