I played around with Squid for a while at the office. Mostly because for a time we had severely limited bandwidth and by setting up a Caching webproxy I was able to provide an appearance of higher bandwidth to the end users.
Many of the users would check the same few websites every day, news, sports and such. The first user there would establish the cache for that site and the others would then feed from it.
By using Squid, I was also able to limit the types of sites users could visit by the tools built into Squid. I was also get a daily report of exactly what sites were visited, by whom, how long they browsed and how much bandwidth each computer was using through the proxy server.
This is of course very helpful on networks where they're very strict on Internet Usage Policy.
As for your questions between using a Proxy and just using a Router, I had my proxy box sitting behind a router which was Nat'ed. You do not need to have your proxy server be your exit to the internet, you just need to tell your machine it is on the network and as long as it has a path to the internet, all other machines will pass through it. Hell, you don't even need two nics in the machine.