Is there a way to to move all items from one document library in one site to another document library in another site where even the metadata like
Assigned To etc are preserved?
Before moving the file to the destination library, you will need to read the metadata associated with the files like Modified,Created,Author(I have given internal names of the fields) and then once the file is added to destination library, update the file with previous saved metadata and call
Roger Cormier (MSFT) has a blog post and a TechNet Gallery project that may help but may need some tweaking to your requirements to update the other (non-user) metadata. (Usual caveats apply & am presuming that MSFT posts do not usually disappear).
TechNet Gallery code & project:
If Content and Structure doesn't work for your scenario (if you are moving content between site collections as @wjervis suggests in the comment), then you will need to use a 3rd party application like ShareGate or DocAve or something else (there are many solutions out there).
Unfortunately, PowerShell cmdlets are not going to help you either as export-spweb and import-spweb do not preserve created date, item created by, and modified date.