The main reason anyone would "need to" switch to llama.cpp is if they want to do partial offloading, i.e. split the model between GPU and CPU. This works quite well for MoE models, but you didn't say anything about this, so I'm just wondering what your goals are.
Absolutely nothing wrong with switching to llama.cpp, I also use it, but that's because I occasionally want to run models larger than my VRAM. It has official docker images and a server with both API access and a decent web-UI.
If you're only going to run models which fully fit in VRAM, then tabbyAPI is also a good option. However, it uses Exl3 format instead of gguf, so llama.cpp probably makes more sense if you already have a lot of models in gguf format. tabby also comes with docker files and API support, so either should be quite easy to integrate with your setup.