The only reason I can think of is tradition; that is, once a branch selects a color it is loathe to change it. For example, US Infantry used white trim, stripe, facing, worsted epaulettes, braid, etc. from the Revolution through 1851 and then with the new regulations switched over to blue.
Rifle regiments in Europe typically selected green because such unitis generally operated as skirmishers and the color blended in with the landscape. This is the only branch color that seems to have some logical basis.
To Join the Company of Military Historians click here