yes, you can setup without proxy.
Using proxy helps protect unwanted requests being sent to your acs/share instances, you control what paths should reach acs/share and what not (via e.g. ngnix.conf, httpd.conf, haproxy.cfg etc.). You expose only ports that you intend to make it public where users connect to your acs/share endpoint via proxy and you redirect to acs/share on different ports which is not available to open network. Think of it as a gateway to your alfresco instances.
If proxy is setup considering all security aspects, i am not sure if there would be any disadvantages. Couple of things to note from my experience.
1- Never run a production instance without proxy.
2- Identify and allow only paths that you indent to allow access.
3- User SSL
4- Do not create endpoints which needs sensitive data and returns sensitive data as a GET request, always use POST request as much as possible. So that if someone somehow gets access to your proxy server, you don't want your data to be compromised.
5- Do not log sensitive info.
There are plenty of resources available online about proxy server, just google it.
(ACSCE, AWS SAA, Azure Admin)