Конечно, производительность двух выражений зависит от реализации используемого вами механизма регулярных выражений. Разница должна быть небольшой, поэтому не оптимизируйте, пока не увидите, что это узкое место.
Вот небольшое сравнение производительности с использованием Perl 5.8.3 и выборки из 8 МБ случайных данных (цифры, тире, пробелы):
time perl -ne 'if (/\d\d\d-\d\d-\d\d\d\d/) {print "."}' < numbers.txt
[output omitted]
real 0m0.143s
user 0m0.136s
sys 0m0.007s
time perl -ne 'if (/[0-9]{3}-[0-9]{2}-[0-9]{4}/) {print "."}' < numbers.txt
[output omitted]
real 0m0.166s
user 0m0.160s
sys 0m0.006s
Итак, первый на самом деле чуть-чуть быстрее (это согласуется для нескольких вызовов).