In my little experience there are several factors causing this. in solution setup, reducing the "maximum number of passes" may help at the expense of accuracy but worth it when you make too many iterations. I noticed also making the air box auto help sometimes. I'm also new to HFSS and look for any other tricks.
a) Minimum no of passes
b) Uncheck the save fields
c) In Frequency sweep step size should not be very small
d) Frequency sweep range to be kept as required range
I will suggest to work in the following way to reduce the simulation time
1. Define relatively thin mesh as mesh directly affects both the simulation time and accuracy so you can make a good bargain.
2. Try to reduce the maximum number of passes that will reduce the simulation time but again at the expense of accuracy but most of time refinement with every pass is real small so you can optimize this.
3. Try to exploit symmetry plans if there are any in your model as this can help you to reduce the simulation time by one half or even more and that too without affecting the accuracy means no cost. As only one half or quarter of model will be considered for simulation
4. Do not save the fields but that is if you do not need them as results
5. If you are using sweep then be careful to sweep the model only at desired points
6. In solution setup order of the basis function also directly affects your accuracy and simulation time
In the end key is how accurate result you want and the way you define mesh and symmetry planes for your model a properly defined model can produce as accurate results with far less computational resources as compared to poorly defined model. Learn to optimize the mesh and symmetry plans I believe that is key for accuracy and simulation time
Maximum number of passes define your accuracy as after one pass your results will be checked for convergence and if it is not converged as defined by user then it will go for mesh refinement in a step defined by user and then re run the simulation so what is best depends on how accurate results you need as simulation time and computational resources are directly dependent on your number of passes