That depends - how do you want to do it. The easy individual method is simply sync both and drag files between the local folders and let them re-sync.
Programmatically you can do so via rest interfaces for 0365 or for on prem you could do the same or create a farm solution. If you use REST you need to look at the cross site libraries, or stage the files in a third location before moving to your final destination. You can rule out CSOM due to its low file size limits. I believe if you package it up as a provider hosted app you can gray it tennent level access and with the cross site library access both as long as they are in the same tennent.
If you are on prem you can also look at using content organizer feature and rules.