You could try my new BlockEditor addon, that replaces the layout field. I addressed some of your points there.
If you tested it, please give some feedback in the BlockEditor addon thread or open an issue with a feature request in the BlockEditor issues section.
If you create your custom components with the LayoutComponents addon, your components are stored in storage/components.json
. Copy/paste inside a json file is still not very user friendly, but you don’t need to look in the database.
Custom components defined via field options are stored in storage/collections/collection_name.collection.php
(see the fields array). You could copy/paste from there - without touching a database.
In the BlockEditor addon, I replaced the settings page of the LayoutComponents addon to have some more options, e. g. to duplicate core components.