массив $_POST автоматически переносится в некую переменную, назовём её $P
Что практически бессмысленно.
Нормальная ли это практа
Нет. Посмотрите, как работает
Symfony HttpFoundation, например. Там никто ничего не очищает. Безопасность обеспечивается в разных слоях приложения по-разному. В работе с БД - с помощью подготовленных запросов, при выводе данных - с помощью замены HTML-сущностей или экранирования и т.п.
Как при очистке и перемещении $_POST->$P предусмотреть абсолютно всё.
Никак.
в некоторых формах может приниматься небольшой текст, в некоторых цифры, в некоторых e-mail, в некоторых большой текст где разрешены спецсимволы типа +,=,! и т.д.
Это вопросы валидации, а не очистки данных, скорее.