The best solution is NOT to let the domain expire in the first place, which others have been saying.
How do you do that ? Combine a good registrar's auto-renew feature with something like WatchMyDomains from SoftNIK.
http://www.softnik.com
So your registrar didn't auto-renew the domain for some odd reason ? Very unusual since this has never happened to me unless the name was not setup for auto-renew. ( Not so unusual if you use Network Solutions though, they're known for fucking up all the time ). If you run WatchMyDomains once now and then it'll show you the domains that are expiring soon. Renew them.
So lets assume it's too late now because you neglected to run WatchMyDomains AND the registrar didn't auto-renew, resulting in some freak coincidence of double failure. The name expired.
Your name is expired. The registrar will hold it anywhere from 1 to 45 days. Depends on the registrar, typical is 10 days with DirectNIC if I remember right or say 30 days with Enom or 45 with Network Solutions. ( examples ). What next ? The name will go into Redemption Grace Period for up to 30 days. So you've got practically another month or two to notice that it had expired. You can pay to renew your domain ANYTIME during that process.
Finally, all that time has passed and now your domain is pending deletion. Too late. You lost it. Especially if it's a really good name. If someone has a Snap on it, try another solution but realize that you still probably lost it. You had all that time to prepare for it, but didn't.
http://www.clickmojo.com/more.php?id=92_0_1_0_M