There is no capability to take a received message object from one mailbox and recreate it in another. Only messages to be sent can be created. This lack of functionality prevents our app, which operates on shared mailboxes, from implementing business rules that would move messages between mailboxes depending on content, time of day, etc. Another use case is allowing a member of one mailbox to move a message to a mailbox they don't belong to (via an add-in that uses our service on the backend to make the Graph calls that move the message).
Outlook provides similar functionality already: if a user is connected to multiple mailboxes, they can drag a message from one to the other to copy it to the destination. Graph has no similar capability.