Your last line is critical. To me, an escalation should never run faster than it's likely to complete. If it often takes 5 minutes for your escalation to complete, running it every 1 minute is pointless because it can't do that reliably. This goes for any cron task, not just escalations. I've seen some turn this on for updating KPIs and expect to run it every 5 seconds but it takes 15 minutes to update all their KPIs. If you tell your user it's updating every 5 seconds they'll expect that to be true and it won't be happening.
Beyond that, in general, I think anything less than 5 minutes means you probably should look at an alternative approach because it seems like you want something in "real time". I've seen some want to automatically progress a record or notify someone after it's created and use an escalation to do that. That doesn't make a lot of sense to me. You have to run on a high frequency where often times it might do nothing. And it can cause your end users to get an error that the record has been updated by another user because your background process changed the status or made some other change to it while they had the record opened.
If possible, do it interactively as the user (such as via an automation script) to avoid the last issue. If not possible for some reason, investigate using async jobs so that you know you have work to do and can typically make it closer to "real time" than an escalation on a schedule would be.
------------------------------
Steven Shull
------------------------------