Morph on GPU or CPU?

I’m making a character model (~6k vertex) with some morphs (exactly 8) and I want to use the morphs for customizing the look of the character (for example to make him slim or fat).

I want to know what’s the best option to do so.
If I use the ‘controlJoint’ interface will the mesh get deformed anew each frame or is the system smart enough to avoid this?
If I turn each morph into a vertex column and use a shader to do the deforming should I expect it to be faster then the default cpu system? (I would just use the old vertex pos + morph * some input number in the vertex shader to get a new vertex pos)

I know I could just make it and test it, but it will probably take till the end of the week to have a working model with all the morphs and I have no idea how the number of morphs and vertex in the model will affect performance, so if anyone has some useful insights and theory - that would be helpful (and maybe it would save me some time).

It should be faster when doing it on the GPU with a shader, in theory, otherwise Panda deforms the mesh every frame. Panda has the ability to automatically generate the appropriate vertex columns.