You have to buy custom design too. Think of it as moving into a new house with a plain decor scheme (free themes). You can buy decorating materials (custom css), or you can call in a professional decorator (premium theme) or you can do both and touch up the professional finish as you like
No, custom design is a service you don’t need to pay again if you change themes. However you are likely to have to throw away all your customisations and start again, a lot of themes have very different css structures.