Вы можете сериализовать выбранный элемент (при копировании), используя XamlWriter.Save, и десериализовать / загрузить (при вставке), используя XamlReader.Load. Но есть проблемы с сериализацией и десериализацией с использованием XamlReader / XamlWriter, о которых вам придется позаботиться (вы можете найти много помощи относительно этого в SO и в Интернете).
В этой статье вы можете ознакомиться с этой реализацией для Custom Canvas -
Дизайнер диаграмм WPF - Часть 4