Are there any differences in meaning between 'provocative' and 'sexy' when they are used to describe clothes?
It seems to me that 'provocative' is almost always disapproving, while 'sexy' can even be approving.
The literal meaning "provocative" is just that the clothes try to "provoke" something. That doesn't have to be sexy feelings, it could be anger or any other strong emotion. A t-shirt with a political slogan might be provocative, for example.
However, when applied to clothes then "provocative" does often mean "intended to arouse sexual desire", and so it is synonymous with "sexy". Whether that is positive or negative depends on the context, and the intention of the speaker.
Using "provocative" can be a euphemism. That means that the speaker is avoiding using words like "sexy". That would often imply that the speaker thinks that "sexy is bad in this context" and means that "provocative clothing" would tend to be more negative than "sexy clothing".
So "provocative" is used to avoid saying "sexy" and is more likely to be used by people who disapprove of the clothes. But neither word is always positive or always negative.
One difference of connotation, which I don't believe others have touched on, is how they convey the speaker's subjectivity towards the matter.
The degree to which this applies depends on a lot of context involving sexual orientation and attraction, and sometimes the audience's incorrect assumptions about such.
Another way of saying this is that, if you talked about your own parent or child dressing provocatively, people wouldn't think much of it, but if you used the word sexy instead, it could be cringeworthy.
"Provocative" refers to the intent of the wearer, "sexy" to the clothes' effect. "Unintendendly provocative" is almost an oxymoron while "unintendly sexy" is more likely to happen. Also "provocative" can provoke by more than being sexy. Try wearing a long-sleeved pink shirt to a funeral, for example.