Сначала используйте профилировщик, чтобы определить, что на самом деле вызывает замедление.
Затем, если это уместно, вы можете попытаться либо оптимизировать код, чтобы сделать его быстрее (до приемлемого уровня), либо реорганизовать независимый код (такой как доступ к данным) в отдельную область, чтобы он мог выполняться асинхронно с пользовательским контролем загрузки. Это все, что вы можете сделать, поскольку пользовательский элемент управления должен быть загружен в том же потоке, что и пользовательский интерфейс.