Затем, что расстановка и добавление кейсов делается препроцессором
автоматически! А разработчику остаётся лишь писать свой линейный блокирующий код, функция за функцией, почти как обычно. Оборачивая моменты блокировки в PT_WAIT() или PT_SPAWN, когда блокирующий функционал вынесен в отдельную функцию - отдельный поток.
Тогда в момент ожидания разблокировки просто проскакивает к следующему обработчику другого процесса из цикла.