Действительно, решение состоит из двух частей:
1.) Используйте таймер вместо сна, сон делает, как он говорит, заставляет поток спать.
2.) Используйте многопоточность и включите функцию очистки экрана в своем собственном потоке, это значительно повысит скорость отклика вашего приложения.
Threading.Thread.Sleep(IntSleepTime)
Является поточно-безопасной функцией сна, которая приостанавливает текущий поток на указанное время, поэтому, если вы будете использовать режим сна, вы можете сделать это в многопоточной среде, и остальная часть вашего приложения будет реагировать так, как вы Спите только разветвленная нить, а не основная нить.