There are two levels of "clearing." A check deposited with a bank will be electronically presented to the issuing bank overnight and usually "clears" within one business day. However, this does not guarantee payment. It can take as long as 2 weeks for a check to be honored by the issuing bank. This is how scammers cheat you: they send you a check which you deposit, and it seems to be good, then they ask for a refund or for you to pay them something. A few days later their "cleared" check bounces back and you are SOL.
It depends on a lot of things. If a check is written from another account at the same bank, it can be instant. There are some scenarios where holds may be placed on checks. If you think a check should have cleared but has not, contact your bank.
It depends. Are you talking about one you deposited into your account? Instate no more than 3 days. An out of state check can 7-10 days. Tho with all the electronic banking going on now days it usually only takes a day or two. If you are talking about mailing one off and then clearing your account, it depends on the post office, but I suggest you make sure the money is in there before mailing any check off.