Mike, math is right precept is wrong. 10 channels to each site does add to 40 if 4 sites, but that is irrelevant. Look at each branch individually. If I have a VCM 10 in one of my branches, then I can squeeze max of 10 voip calls down the pipe between that branch office and <wherever>. Therefore you are looking at max of 300k for voice calls at any given time, so you are fine with a max upstream of 640k but could not go to g.711. Do that analysis for each of the branches seperately.
2 suggestions - first, CHANGE the 2 branches that are automatic selection and force them g.729
Second, try setting one test phone at each of 2 branches to g.729 and make a test call, see if quality improves. The goal is to keep the call g.729 the whole way without translating from g.711 to g.729 then back to g.711 again.
One other tip - launch monitor, when it first connects you'll get a bunch of info including "vcm=xx" the xx is the number of vcm channels you have on a particular system.
You'll probably have more at the main site than the branches, but that doesn't change what I've said above.
Peter