Not only is LEA more flexible I believe it's preferred to SHL even for simple operations because it doesn't modify the flags register which can make it easier to schedule.
shlx doesn't alter the flag register.
shlx doesn't alter the flag register.