Tony Tanzillo posted some code that is very close to doing what you want (will copy selected geometry, instead of a block def).

This one here from Lee Mac looks like it will do it.