The main reason this is not done is it is exceptionally complex. Even if we did it, the complexity would probably result in pasting doing unexpected things, and possibly making a mess of your project.
There are dozens of tough problems like: what if you paste events referencing a family instance variable, but one of the members of the family already exists in the project, but that object has a behavior using the same name as the family instance variable? Now you cannot paste the event because there is a name collision. It would have to rename something. But then pasting events ends up renaming random bits and pieces of either your existing project or the things you pasted, so there's no guarantee that what you pasted will actually work like you expect afterwards.
By requiring all the relevant references to be in-place before pasting the events, all these difficult problems are avoided.