If you know that you will be moving in 3 to 5 years, you might want to consider refinancing to a 3 or 5 year ARM (adjustable rate mortgage). These loans typically have a much lower rate that a traditional fixed rate loan such as a 30 year fixed, but they do have a fixed rate for the first 3 or 5 years of the loan. This will enable you to benefit from the lower rate, but you won't ever have to worry about the risk of a rate adjustment because you will be selling the home before the fixed-rate period ends.
Resist "no cost" refinancing. No cost doesn't mean free. On the contrary: The closing costs are usually bundled into the new mortgage, which means you pay interest on them. The fees associated with a 30-year mortgage could cost you more than double what they would have had you simply written a check for them at closing. Or, if the costs aren't bundled in, you'll be charged a slightly higher interest rate. Either way, the lender wins.
Once you know the reason for refinancing, you should ask your mortgage specialist whether or not it would be beneficial for you to refinance at this time or whether it may be more beneficial to wait.
Give yourself plenty of time to close. With most refinancings, your file is turned over to a closing or title company, which dictates the closing details. Like the lenders themselves, these firms are swamped when interest rates are low. Moreover, appraisers get backed up and can be difficult to schedule. So don't expect the closing to happen as quickly as anyone promises.