Are those GTK2 themes changeable programmatically ?
No. They idea is that a user can customise his environment as he pleases.
All applications should follow the customised theme and thus look consistent.
A themable desktop system is a
good thing, I don't know why anybody would want to make an alien looking app which does not respect the user settings.
Linux distributions by definition are diverse because of competing desktop and widget systems.
Even so there is effort to get consistent look between applications. For example my KDE has specific settings for GTK+ applications, and they look more or less like KDE apps do. Their level of desktop integration obviously does not match with the real KDE apps.
Other desktop environments have similar efforts.