На сколько я знаю, байткод который генерится в обоих случаях - разный, но нужно понимать, что в случае с switch компилятор все равно сгенерирует какое-то подобие default кейса - куда выполнение попадет, если ни одно из сравнений не сработало, и откуда продолжит обычное выполнение. Но это мелочи.
На уровне байткода switch не оптимизируется в хеш-таблицу в AS3. Он мог бы в принципе оптимизироваться JIT компилятором, но это было бы платформо-зависимо.
Еще нужно понимать, что switch - более сложная конструкция, и занимает больше регистров (ему еще нужно хранить где-то переменную-счетчик посещенных кейсов). Так что в зависимости от количества свободных регистров производительность может меняться.
Но самое главное в том, что какой бы из двух способов ни был быстрее в ваших тестах, даже если вы их грамотно провели - нет никакой теоретической необходимости для того, чтобы один из способов был быстрее, и рассчитывать на это - бессмысленно. Если на каком-то конкретном компьютере, операционной системе и версии плеера вы получили какой-то результат - это мало о чем говорит даже для конкретной ситуации, не говоря уже о других ситуациях.
Кроме того, разница на столько не принципиальна, что в AS3 нет просто физически возможности решать такие задачи, где эта разница на что-то повлияла бы. Т.е. если бы мы говорили о суперкомпьютерах, где рассчитывают взаимодействие молекул белков, или траектории спутников - тогда, возможно, это имело бы смысл, и то в самую последнюю очередь. В AS3 вы по другим причинам не сможете даже взяться за решение задачи, на решении которой такая разница может хоть как-то отразиться.
И последнее. В строгом смысле слова (но по этому поводу можно начать отдельную дискуссию). if и switch - не операторы. Их иногда называют операторами благодаря плохому переводу книжек посвященных теории компиляторов (в разделе грамматик), где операторы-функции и операторы - ключевые слова в выражениях перевели одинаково. Я все-таки за то, чтобы операторами называть только разновидность функций которые в силу придурковатости языка на котором мы пишем мы должны использовать не так, как типичные функции. Т.е. Для языка AS типичная функция (ее применение) записывается как

Код:
имя(список аргументов)
а "дурацкие" функции могут записываться как

Код:
имя аргумент

Код:
аргумент имя аргумент

Код:
аргумент имя
Потому что кому-то показалось, что чем запутаннее, тем понятнее.
if и switch - в AS - это не функции (есть языки, в которых это функции), а части выражений. Внутри этих выражений они выступают в качестве "оператора" этого выражения, но для избежания путаницы с настоящими операторами, и с точки зрения синтаксиса языка - это ключевые слова. Хотя в вопросе однозначно имелись в виду конструкции, в которых эти ключевые слова используются. Потому что само по себе ключевое слово if или switch, хотите вы его назвать оператором, или нет, не выполняется ни за какое время т.как вообще не выполняется. Выполняется код в конструкции.