What tools and techniques can I use to make GTK themes?
There is the widget laboratory from one of my cohorts, Isaiah Heyer. That may be of use to you.
The widget laboratory or the widget factory is only for viewing your theme, to edit your theme graphically, try to use gnome color chooser. It's fun apps for experiment.
GTK programmers will tell you that writing a GTK theme is easy. If you have a full understanding of how GTK is put together, then that may be so, but if you don’t have a great knowledge of the GTK API and you want to change the visual appearance of your GTK applications. Its not difficult stuff, but can appear to be somewhat random and non-intuitive due to its close correlation with the underlying widget structure.1
1Source: developer.gnome.org
There are many websites out there that has information on how to create GTK themes. It would be a hassle to include information from all of them, and try to cite everything. I will be leaving you with a couple of links at the end, that will help you in your process.
GTK themes in Gnome 3 have a new syntax that is different from GTK2. The new CSS syntax in GTK3 makes it easier to create themes. Though it is easy to understand the CSS syntax than the old gtkrc syntax, it is not enough to know just CSS.
You probably won't want to get a theme up and running from scratch. You probably should start by modifying an existing theme. The theme that you choose, will affect the quality, ease of customization and maintainability of your theme.
Choose a GTK3 engine
The theme engine is what draws the theme. Different theme engines may support different features and syntax.
The Adwaita engine is from the official Gnome project. If you want to make a simple theme, choose this. Read on..2
2Source:forums.fedoraforum.org
The GTK+ Project
Gtk Theme Creation Guide