3.5 huh? When rolling multiple attacks, do NOT roll them one at a time. If they get five attacks, roll 5d20s. Assign specific dice to the order of attacks if you need to or just go in ascending or descending order of the rolls; whichever is easiest for y'all. Similar with damage after you've determined which attacks hit. Just roll all the damage dice at once.
If your players are up for it, you can speed up combat by using an actual hourglass timer (30 or 60 seconds) to limit decision making time so they can't take 15 minutes planning their turn. This can also make combat more frantic and hazardous, of course, so you'd want to appropriately scale back some monster damage or HP if it becomes a problem and they put themselves in tactically terrible situations due to the pressure of the ticking clock. (This definitely needs buy in from your players first!)
As far as giving agency when it's not their turn, they can always shout suggestions or relevant tactical information to one another. You could theoretically let them help each other once per round or something, where maybe they roll a small die that gets added to the active players roll, signifying them shouting at an enemy to distract it or encouraging their teammate. This is basically 5e Bard territory, but there's no reason you can't use it generically.