I always pat dry my steaks(often about an inch thick or close to that) and get my pan really hot but every time I cook a steak on the stovetop I either get a steak with mostly gray look but has my desired doneness, or a steak with a great crust but it's overcooked. I do constantly think of the reasons I can't get both desired doneness and crust, and there indeed are two things I think I should bring up.
The first thing is that I use grape-seed oil but I only pour very little of it into the pan so it barely covers the bottom. The other thing is that I don't let the steak rest in room temperature, I just take it out from the fridge when I want to cook it.
Come to think of it, the temperature of the meat surface may matter a lot, maybe the surface needs much more time to develop the crust when it's cold than it does when it's not that cold? And does the amount of oil also play a big role in achieving a good crust on the steak?