A coastal town is a better base to visit Costa Brava
Costa Brava is quite easy to get around so you can decide your base depending on what part you would like to see more of. There are many great towns in Costa Brava so you will be spoilt for choice.
In general, though I recommend that if you like beaches or see yourself spending a decent amount of time by the sea, it is better to be based in a coastal town like Calella de Palafrugell, Llafranc, or Tamariu. Or even Begur-Sa Tuna.
Driving is the best way to travel around the Costa Brava region. This way you are not bound by schedules. Car parks are plenty and free unless you want to park very close to the beach or historic centers of towns.
But avoid these coastal towns as a base
My advice is that Cadaqués is not a good place to use as a base; it is quite far up north in the region and this makes the rest of the coast (and inland) difficult and time-consuming to get to.
Also, avoid the temptation to stay in Tossa de Mar as a base town. Tossa itself is lovely for a stay but the area around Tossa has not many points of interest compared to say Palafrugell or Begur.
Girona is great for history buffs!
If you are a history and culture sort of group then Girona is certainly a good idea to stay. Girona itself is a great university town, typically Catalan, to spend an entire day. And on other days you can easily visit the surrounding attractions like Lake of Banyoles, Pals, Regencos, Pubol, Peratallada, and medieval Besalu.