As for the warranty, no idea on that, those can vary greatly, just read the actual contract, not call customer service and have them guess, read the contract word for word.
As for selling, the problem is most buyers will not engage in this type of transaction, too much hassle and risk.
Also you need to be careful not to get scammed. If you agree to a sale, and the buyer's check bounces to the lender, and they have the vehicle and do not return it, who knows what will happen, but that most likely is civil not criminal matter.
The only way I would engage in this type of transaction, as the buyer or seller, is if the vehicle was discounted, and there was an attorney involved. And that of course is going to cost something.
Also even if you sold it to friend, who you trusted, and you both went to the bank, the buyer gets a certified check, and you both drop it off at the post office, so that you know it is paid, it will take maybe 3-8 weeks for you to get the title.
And the other person has to trust you will then sign over the title, or you could give them a power of attorney form when they pay.
I would shop it around to other dealers. Maybe you try to get 19k and call it a day. Keep in mind when you say worth 21,000, that is on the higher end for a private sale, and private sale buyers are doing a private purchase to save money.
If a dealer has the same car sitting on the lot for $21,000, and it can be bought for 20,000, why pay a more to private seller.
Good question and good luck.