Shopping for a car sucks.
I went through this recently and unless your car is worth almost nothing it's better to sell privately. You'll never get a good deal on a trade.
Elantra GT. I Was offered 13k on a trade in. I sold privately for 17000k.
Mazda3. I was offered 13k and 14k on a trade in. I sold privately for 18500k.
Even with the tax difference on a trade vs private sale I was still ahead selling privately and I didn't feel as much anger being lowballed on my vehicle.
The car I bought was originally listed at $24380 then went down to $22980. I finally decided to make an offer when it went down again to $22480 and I got it for $22200 including their stupid admin fee ($395).
You just have to keep an eye out for the current used asking prices and watch if they go down then jump one one when it comes available. If your buying new then I've had good luck with those car buying sites like unhaggle.com, I've used it twice. Basically you enter what you want and then dealers send sales offers. The price unhaggle presents you is the drive it of the lot price, no other fees. You can choose the lowest one and either go with it or use that offer to negotiate with another dealer.
There is a fee, it was $99 when I did it, and the offers are only good for a few days.
One more thing. I tested the used waters by listing my car for sale on CL as well as checking out other listings for the same car. I got bites so I new my car was in demand. I had to evade a few potential buyers for about a week but in the end I bough my new-to-me car on Saturday and sold my old car on Sunday. Pretty convenient