We have found in recent deployments that when you deploy a custom theme to a server, the theme does not immediately apply to certain sites.
We believe that if the site was created from a site definition then the theme would apply immediately but in cases where the site was created from a user template or stp then the theme does not apply straight away.
To overcome this, we set the theme back to the default theme first and then set it to the new theme. For some reason, SharePoint keeps a copy of the old theme in the site and unlessl you toggle the theme settings it still "remembers" the old one.
We use echo for SharePoint to apply themes to all sites in your web application or site collections. so we run the site update task twice, once to set it to the default theme and another to set it to your custom theme.
extra tags: custom theme does not get applied, old theme, new theme, sharepoint, wss site