I can understand why the Navy and Air Force don't provide protection detail but why doesn't the US Army at least share the role?
The USMC traditionally was appointed to protect embassies and delegations for the simple fact they already were the US expeditionary force. Meaning, in short, they were already in place on US Navy vessels that would carry diplomats and other government officials to foreign countries. Being the armed ground troops on these vessels, they would be the ones tasked to provide security for the diplomats or officials in country. And if an embassies became a physical location, it was easy to detach a body of Marines to provide security, as again, they were already there. It was originally an ad hoc relationship, and become more formalized as the US State Department began requesting Marines for security details at its postings. The situation was cemented sometime in the 1940's by an act of Congress allowing the State Dept to formally request the Sec of Navy to assign personnel and given Sec of Navy the power to make such assignments. The USMC does not really guard the POTUS per se, they only provide four members as escorts and additional security to the normal Secret Service detail, and of course provide helicopter service via Marine One. Originally, both the US Army and USMC provided the helicopter and West Wing escorts, but under President Truman the situation was changed to provide the responsibility solely to the USMC.
-Semper Fidelis: The History of the United States Marine Corps by Allan Millett
-USMC: A Complete History by Jon T. Hoffman
-First to Fight by Victor H. Krulak