CastingEssentials and a HUD that utilizes its features are gonna be your best bet when it comes to in-game observing quality graphically/utility-wise. your best bet at the moment is CastingEssentials r21-red06 and EssentialsHUD.
CastingEssentials and the HUD will both go in your tf\custom folder, and you will need to launch the game with the
-insecure
launch option. This means that you will be required to join in an STV slot and cannot directly spectate on the game server.
The other utility you'll need is a production config to actually take advantage of the CE plugin. As an example I've linked the config I was using during ESEA S27-31 to spectate games; the most important sections to look at (CE Commands and Binds) are all commented out. There's also pretty good documentation for how stuff works on the CE Wiki.
If you have any other questions about in game spectating, or have other production-related questions feel free to DM me on steam/TFTV. I'm sure there are plenty of other producers/observers that would be happy to throw you some info as well