Here is a great article about this topic.
http://www.sqlpointers.com/2006/11/parameter-sniffing-stored-procedures.html
Basically, if you’re suffer from parameter sniffing, try to use local variable.