Java Servlet Правилен ли подход?
правилен ли подход использования только одного сервлета, который принимает запрос, отдает его на обработку соответствующим модулям и затем отсылает ответ? 
Да. Похожим образом работает, например DispatcherServlet из Spring MVC:где FrontController - это такой сервлет.
Если вам так удобно, в виде сервлета-прокси, то да, подход нормальный. Да, работа через json тоже нормальная. Не забудьте, что еще есть разные методы GET/PUT/POST/DELETE/UPDATE/HEAD и т.д, очень часто именно ими удобнее манипулировать. Например по GET забираем данные, по POST - передаем, по PUT - обновляем, по DELETE - удаляем :-)
Ну а в большом проекте все же удобнее разделать сервлеты по типам данных.