I have observed that in many websites/application if they provide a lot of themes (~10), I find it very difficult to choose the right one as there are lot of options and I cannot decide which one looks best. Is it common with other users too. Should I provide only 2-4 themes and not as many as 10 for a good user experince?
We had some experience with this themes scenario where I work (with the DevExpress UI control suite for .NET). I did some usability testing with one of their many themes (a dark one with light text that seems fashionable with some dev types), and the lack of contrast between the dark background and the grey buttons caused the users to totally miss them in some scenarios. I tried some other themes in the pack, but the button contrast wasn't much better. Seems like they made a lot of them but didn't focus on making one that was really great. In the end it was decided to let the users pick a theme, but they didn't seem to care (sticking with the default we set up).
People think they want choice, but when it comes down to it they won't spend hours looking at themes to decide which one is really "them". What they really need is the functionality that they came to the site for / bought the application for. I would definitely stick with a single theme that has been well tested for usability.
I was just speaking about that on meta UX SE ! In my opinion, it's a bad thing for the UX because the UI might differ too much, which leads to a lack of consistency.
You should also keep in mind that you should always conceive your UX with the "less but better" principle, which might be pretty difficult to do with a lot of themes.