From an add-in you can set the PackageID, call Update() and possibly Repository.AdviseElementChange()
This will move an element, not copy it. EA automation lacks a clone method (and generally EA is weak when it comes to cloning).
I can think of only two ways to clone an element: either creating a new one and copying all properties (meaning quite a lot of code: all properties, tagged values, stereotypes and what not), or using xmi export:
1. Write a recursive function which yields the path (array of child element indices) from the selected element's parent package to the selected element.
2. Export parent package to a temp file.
3. Import temp file to a new package with the strip GUIDs option.
4. Delete temp file.
5. Get cloned element using path from step 1.
6. Move cloned element to destination package (set PackageID).
7. Delete imported package.
Not nice, but at least there's no danger of forgetting to copy some properties or having to change the code when a new EA version introduces new properties. And there may be properties which are not accessible via automation at all.