I remember themes for Windows XP. Have no idea, though, how many hacks were involved .
XP required themes signed by Microsoft. There were cracks that removed that requirement, but the result was, that when something was broken, you got to keep all the pieces.
For OSX, there were also hacks that changed the system appearance, and Apple took increasingly harder stance against them. Again, they break more than they solve.
The reason why platform vendors do not support third-party theming is, that it limits their ability for further development. They would need to preserve compatibility for something, that is internal implementation detail. For first party themes, they can keep them in lockstep with the rest of framework. For third party, they cannot. So they prevent third parties from existing.
Let's compare comparable. Neither Cocoa nor Win32 do support third-party themes; for the exactly same reason why GTK is breaking them.