I think I have an answer:
The movement needs to be expressed in terms of a 3D matrix of rotation about the center point of the sphere.
This actually makes sense as I was hoping to use the GPU for simulation of the plates anyway and things like applying rotation matricies are it's bread and butter so I'll just do that in the vertex shader before moving on to the rest of the simulation.
The only potential problem I can see is that after the simulation is complete, I won't have the points in spherical coordinates. However, this would always be the case if I ran the simulation on the GPU and I think the speedup over running it in regular code will more than make up for it.