Best option: Use <insert your preferred chat system> to deal with combat. Problem solved.
Not-so-great option: If you're stuck in doing the combat in PbP, your best bet is to reduce two things:
The number of communications between player and GM required to take actions:
- if, for example, you give the players working knowledge of enemy defenses and hp, now they don't need to wait to know if the attack didn't hit and they need to use a re-roll ability, and the next player in line knows whether or not the monster is dead already without GM input. You may also allow players to update the battle grid.
- You can encourage players to pre-define the conditions under which interrupts and attack of opportunities will happen, example: if the GM doesn't need to wait for the fighter to tell him whether he wants to do an AO or not against rat #37, combat moves faster.
The amount of waiting required by players.
One of the reasons combat slows to a crawl because of the initiative system. If you fudge with it, things will move faster.
- fidget with the enemy initiative rolls so they're mostly clumped in groups on the order.
- allow players that are right next to each other in initiative order to post regardless of who's actually first (in other words, if A rolled 5 init, and B rolled a 4, allow B to post before A if he happens to log earlier), this works remarkably well if you fidgeted with enemy initiative so that monsters are clumped together.