my phone is an unrooted int'l uk origin hox. i have a custom ringtone set as default. so here is what i just did to test whether there is a problem with the phone. i selected one contact via the contact menu, scrolled down to ringtone, pressed that option, which took me to the ringtones selection menu and selected another custom ringtone i had just made and hit apply. that took me back to the contact details screen and the new ringtone was listed as the selected ringtone for that contact. remaining in the contact menu, i then selected the ringtone item again, which took me to the ringtones selection menu, and selected the ringtone i have set up as my default ringtone and selected apply. that took me back to the contact details again and under ringtone it indicated that that ringtone was now the ringtone for that contact. note, however, that at this point, the preferred ringtone for the contact did not say default; instead it gave the name of the ringtone i had selected. i then went through the same thing again, this time trying a ringtone that is offered as part of the hox's original software. again, that ringtone then showed up as the selected ringtone for the contact.
to be frank, i don't even remember what the original default ringtone for the hox was. maybe quietly brilliant in the ringtones list? i could reset that as default for the whole phone (which i just tried) via the personalize sound menu. it works fine for all contacts where i never personalized their ringtone. but it does not change the individual choice for the contact for whom i had set a specific ringtone. in order to get that ringtone back to whatever the phone default ringtone is, i have to set it individually by title in the contact details screen.
don't know if that will help you. using google contacts sync is something i stay away from at this point, especially since i am not one of those with hundreds of contacts. so i can't offer any suggestions on that issue.