Про "тормоза":
- Их нет

- Они есть, но не там, где вы их ищите.
- Динамические объекты тормозят больше.
По пунктам. Разница между скоростью работы XML и XMLNode - наносекунды на тысячах операций. Ею можно пренебречь. Почему выбран XMLNode в качестве примера для сравнения? - он тормозит меньше чем Object + Array, последние тормозят больше чем и то и другое.
Что скорее всего происходит: вы пишите код работающий с XML так, что он работает медленно. К сожалению, написать плохой код, работающий с XML гораздо проще, чем хороший, потому что циклы делаются неявно, и там, где вам кажется линейная скорость вы можете легко получить квадратную, кубическую и т.д.
Внимание! Где и как можно действительно сэкономить: если объемы информации такие, что даже при очень оптимальном и выверенном обращении с XML, тем не менее есть заметные лаги - попытаться построить наивную базу данных. Наивные базы данных работают быстрее реляционных!

ОК, наивные, в этом контексте значит - записать всю информацию в массив байт и вычитывать ее от туда по индексу. Это будет особненно хорошо работать, если не нужно конструировать базу в рантайме, а только загрузить. - Например, используя какой-нибудь самый простецкий формат записи, типа пол-байта на длину записи и пол-байта на тип записи, в заголовок вынести все расстояния до записей - и даже если вам нужно будет найти слово в большой советской энциклопедии, это займет наносекунды.