Slate roofs are by far the best choice, as long as the supporting structure has been planned to handle the extra weight. Slate is beautiful, durable, and ecologically sustainable.
Yes, slate is an expensive material to purchase, time-consuming and expensive to install, but a slate roof will last for a century and more with proper maintenance. Considering the long-term value of slate, it is probably the least expensive choice for your roof. An asphalt roof will need to be replaced every ten to twenty years, but your slate roof will only require minimal maintenance every twenty years or so.