Just a remark: since a lot of version, there is always a "bug" in the theme preview.
If you got a theme, put it in the theme directory like this, for sample:
the theme will be functional but with not the preview...
And the reason i found is simple: in your theme directory, you must avoid special car or spaces..
So, by simply perform a directory rename in my sample:
The theme is always functional and the preview too !
I will try to find a solution in the code for that (a parsing of the path in php...)