Is this the best way to set the site up or is there something more simple or obvious that I am missing (I set this up a couple years ago!).
What you're doing is the correct way to have guest only content.
The reason for wanting to clarify is that some members are logging in and getting a 'you are not authorised to view this' message, but the only things being blocked/hidden are the guest modules.
Only reason for that is whatever page they're trying to access is no longer accessible. Ensure your Home menu item is Public access and not Guest. Aside from that you'll need to ask what URL they were one when trying to login. Maybe a login redirect URL in your CB Login Module is configured incorrectly and trying to send to a page that doesn't exist or they can't access?