Будет ли процесс переключаться между различными ядрами для повышения производительности?
Это зависит от того, является ли процесс многопоточным или нет. Сам процесс по сути является просто «контейнером» для потоков, он должен иметь как минимум один для запуска. Каждый поток может использовать ядро ЦП, поэтому, если ваш процесс имеет 2 потока (графический интерфейс и рабочий поток), он будет работать на 2 ядрах ЦП.
Вопрос «Будет ли процесс переключаться между различными ядрами» не совсем корректен, потому что такое переключение запланировано операционной системой (ОС), а НЕ самим процессом!