Sharepoint - How can you move a document with its version history to a new library?
Just moved (drag & drop) a file in Explorer View from one document library to another, and it did retain previous versions!
Obviously both libraries need to have versioning enabled.
Try it yourself.
EDIT: note that it ONLY retains the versions if you MOVE the files. It does not do so when you perform a COPY!
Last year I added functionality to Chris O'Brien's SharePoint Content Deployment Wizard to copy documents from one library to another. I'm pretty sure I tested that versioning copied over as well.
Have a try of that and if you have any problems using it please leave me a comment here and I'll update my answer with more info.
New Link : https://github.com/chrisdee/Tools/tree/master/SharePoint/SharePointContentDeploymentWizard
As Anders mentions in his answer, my company SharePoint Products has a tool named CopyMove for just that. It is free to use for 1 named user - only organizations that need to offer the tool to their end-users will need to purchase a license.
The product can copy/move documents, list items and folders with no loss of metadata, version history and permissions. See the full feature matrix with screen shots here.