Each have their uses, and can even be combined.
There are times where I animate a mesh, export it as a vertex animation, and let that be controlled by cascade.
Unless you go the skeletal mesh way, neither of them have any real heavy impacts mention-able unless you go the tessellation route with a few dozen hundreds of instructions in the shader and spam them in a mesh emitter.
Simple scaling/random velocity/rotation etc is probably cheapest to do in cascade, bending, twisting could be done with some fairly simple math inside the shader, though a vertex animation texture isnt that heavy either (unless you are animating 60+k vertices over a very long period of time)
Things that are notable though are that vertex animation/vertex manipulation in the shader affect the normals/normal map so thats always something you need to think about.
Skelmesh animations are probably the most performant of the mesh/mesh particles.
Additionally, keep in mind that each mesh emitted is one draw-call, so spawning dozens of meshes --even in the same emitter- is quite impact.
Just like anything else, optimization is key, regardless which route you are taking.