I have a 2005 4Runner SR5 with 160K miles on it. I have been following maintenance perfectly during the course of its life (oil changes every 3K miles and everything listed in the factory maintenance manual) and I have not had a single problem with the 4Runner. It is by far the best truck/car I have ever owned and I depend on it to get me through very rough northeast winters. A couple of months ago, my sunroof got stuck open and the dealer told me I needed a new one for $2000. Instead, I purchased a used sunroof from a wreck for $500, but after it was installed, there is a very annoying rattle in the roof when the sunroof is closed. I brought it back to the auto body place and they told me that it is the sunroof and since the used sunroof was bought "as is" from the junkyard, I am kind of stuck with it. Additionally, my left front wheel bearings are gone and need to be replaced ($200+). So, I definitely need to get the bearings replaced, but wondering if I should go back to the Toyota dealer and get a new sunroof for $2000 or live with the rattle. If the 4Runner will go another 5-10 years, I will go for the sunroof, but if the consensus is that I will start seeing more and more go wrong, I may want to trade it in for a 5th generation 4Runner. Any thoughts?