It's important to understand that, in general, security transactions involve you and a relatively unknown entity with your broker standing in the middle.
When you sell through Schwab, Schwab needs to receive the funds from the other side of the transaction.
If Schwab gave you access to the funds immediately, it would essentially be a loan until the transaction settles after funds and securities change hands.
If Schwab made funds available to you as soon as they were received, it might still be two days until the money is received; because the other side also has three days.
Guaranteed one day settlement would have to include receipt of funds from the buyer in one day and Schwab can't control that.
You need to remember this transaction likely includes at least one party in addition to you and Schwab.
Here's the SEC page related to the three day settlement period, About Settling Trades in Three Days: T+3
money.stackexchange.com/users/22881/quid
Another explanation is that they keep your money three days to make money with it, because they can .
The other reasons might have been valid 100 years ago, and no bank would voluntarily cut that down until forced by law.
Example: In Europe, bank to bank transfers used to take three days, until a law forced them to give next day, and suddenly it was possible.
money.stackexchange.com/users/35405/Aganju
quid's answer explains the settlement period well.
However, it should be noted that you can avoid the settlement period by opening a margin account.
Any specific broker like Schwab may or may not offer margin accounts.
Margin accounts allow you to borrow money to avoid the settlement period or to buy more securities than you can actually afford.
Note that if you buy more securities than you can afford using margin, you expose yourself to losses potentially larger than your initial investment.
If you fund your account with $50,000 and use margin to purchase $80,000 of stock which then drops in value by 80% you will have lost $64,000 and owe the broker $14,000 plus fees.
money.stackexchange.com/users/37132/Comptonburger
That is the standard set by most securities exchanges: T+3 : trades complete three days after the bargain has been struck.
money.stackexchange.com/users/210/Peter K.
TLDR:
Why can't banks give me my money?
We don't have your money.
Who has my money? About half a dozen different people all over the world.
And we need to coordinate with them and their banks to get you your money.
I love how everyone seems to think that the securities industry has super powers.
Believe me, even with T+3, you won't believe how many trades fail to settle properly.
Yes, your trade is pretty simple.
But Cash Equity trades in general can be very complicated (for the layman).
Your sell order will have been pushed onto an algorithmic platform, aggregated with other sell order, and crossed with internal buy orders.
The surplus would then be split out by the algo to try and get the best price based on "orders" on the market.
Finally the "fills" are used in settlement, which could potentially have been filled in multiple trades against multiple counterparties.
In order to guarantee that the money can be in your account, we need 3 days.
Also remember, we aren't JUST looking at your transaction.
Each bank is looking to square off all the different trades between all their counter parties over a single day.
Thousands of transactions/fills may have to be processed just for a single name.
Finally because, there a many many transactions that do not settle automatically, our settlements team needs to co-ordinate with the other bank to make sure that you get your money.
Bear in mind, banks being banks, we are working with systems that are older than I am.
*
And all of the above is the "simplest" case, I haven't even factored in Dark Pools/Block trades, auctions, pre/post-market trading sessions, Foreign Exchange, Derivatives, KYC/AML.
money.stackexchange.com/users/14688/Aron
They're taking advantage of float .
Like so many things in the financial world today, this practice is a (strictly legal) fraud.
When you make the transaction, the money is available immediately, for reasons that should be intuitively obvious to anyone who's ever used PayPal.
It doesn't take 3 minutes for the broker to get that money, let alone 3 days.
But if they can hold on to that money instead of turning it over to you, they can make money from it for themselves, putting money that rightfully belongs to you to work for them instead, earning interest on short-term loans, money market accounts, etc.
The SEC mandates that this money must be turned over to you within 3 days so it should not surprise anyone that that's exactly how long the "we have to wait for it to clear" scam runs for.
Even if it doesn't seem like very much money per transaction, for a large brokerage with hundreds of thousands of clients, all the little bits add up very quickly.
This is why they feel no need to compete by offering better service: offering poor service
is making them a lot of money that they would lose by offering better service.
money.stackexchange.com/users/3568/Mason Wheeler
Whenever I sell stocks with Charles Schwab, I cannot access the cash for 3 days after the day I make the sale. A coworker told me that this was called a "mandatory settlement period".   I was unable to determine the reason for this - is this a restriction just in Charles Schwab that other institutions do not have, and if it is, what is the justification for it? Is this a government regulation, and if it is, what is the justification for it?
Why does Charles Schwab have a Mandatory Settlement Period after selling stocks?
money.stackexchange.com
<stocks>
money.stackexchange.com/questions/67072
money.stackexchange.com/users/13605/Matthew Moisen
Trades complete 3 days after. If Schwab gave you access to the funds immediately, this would essentially be a loan. They can also use that money for themselves during that period. This is the standard time set by most securities exchanges. If Schwab made funds available to you as soon as they were received, it might still be two days until the money is received as the other side also takes three days, so three days are required to guarantee the money being in your account. It could be argued that they are keeping your money for three days to make money with it by earning interest on short-term loans or in money market accounts for example. The settlement period can be avoided by opening a margin account.  
This is the standard time set by most securities exchanges. If Schwab made funds available to you as soon as they were received, it might still be two days until the money is received as the other side also takes three days, so three days are required to guarantee the money being in your account. Some would say that they are keeping your money for three days to make money with it by earning interest on short-term loans or in money market accounts for example. The settlement period can be avoided by opening a margin account.  