Если вы так обеспокоены скоростью и использованием памяти, вы можете написать свой собственный преобразователь SAX. Будет ли это достаточно просто, зависит от сложности преобразования.
Тем не менее, 3000 узлов - это не много, и я использовал Apache Cocoon для преобразования гораздо больших документов. И STX тоже работал хорошо. Не поддерживается не обязательно означает, что он не работает.
Лучше попробовать существующие решения, а затем улучшить по мере необходимости.