Yes, you can have Groups in a Diagram such as a Palette, and have users drag them from the palette to another diagram. The BPMN sample, http://gojs.net/latest/extensions/BPMN.html, demonstrates this. Try dragging the “Subprocess” node, which is actually a group.
You can even automatically expand and ungroup groups that are dropped into the main diagram. This is demonstrated by the Graphical Macros via Auto Ungrouping sample, which implements an “ExternalObjectsDropped” DiagramEvent listener for that behavior. I cannot tell whether this kind of functionality might be useful to your app.