Agreed, would be nice to be able to handle this with a proper workflow. Also components being able to be pulled into different projects once transferred over like the starter kit assets is a MVP feature.
To be able to transfer projects to clients, you need to have a Partner plan. That’s all. You can transfer any project from your workspace to any workspace you want, provided you own a Partner plan. You contact support and the transfer is done as soon as possible. A client can’t transfer projects to you, unless he has a Partner plan as well. He can only add you to their workspace without charge.
It’s not possible to share private components or libraries with clients yet, only full projects. What you’re describing is a workaround/hack to make this possible: support temporarily transfers the client’s project to your workspace, and then you add the libraries/components to your client’s project. I don’t recommend this workaround, but it is possible.