Think of the geometry of the image you uploaded:
You need more subdivisions on the fabric. Faces don't curve, bend or twist. The edges will always be straight. To create any kind of curvature you need subdivisions. The extra geometry will allow you to create the transitions and facilitate the different folds and twists of the fabric that you show in the reference image.
An example of possible topology to play with:
Step by step
Make a Vertex Group and assign it to the top loop.
Add a Hook > Hook to New Object. A new empty is created, and the vertex group is now controlled by it. The idea is that only the pinned vertices move independently than the rest of the fabric, and they pull the rest of the surfaces as they move. By moving the empty you can do that now.
Add a Cloth modifier to the object, and make the vertex group the Pin Group.
(note that the order of the modifiers matters here.)
For a softer surface you might want to add a subsurf modifier at the bottom of the stack.
Animate the rotation of the empty (or parent the empty to the body of the dancer)
The quality of the simulation depends largely on the quality steps. Play with the weight, stiffness, damping, tension and shear of the fabric until you are happy ever after.