You would have to do something like this (untested), this moves the media file from one library to another, if you want to copy it, you might have to do MediaFileInfoProvider.CopyMediaFile(); first:
var siteALibrary = MediaLibraryInfoProvider.GetMediaLibraryInfo("Library Name", "Site Name");
var siteBLibrary = MediaLibraryInfoProvider.GetMediaLibraryInfo("Library Name", "Site Name");
var mediaFile = MediaFileInfoProvider.GetMediaFileInfo(siteALibrary.LibraryID, "File Path");
mediaFile.FileLibraryID = siteBLibrary.LibraryID;
mediaFile.FileSiteID = SiteInfoProvider.GetSiteID("Site B Name");
mediaFile.Update(); //Not sure if this will update it, might have to do this:
MediaFileInfoProvider.SetMediaFileInfo(mediaFile);