Make the run after the pass automatic: the passer leaves on the pass, gets round his cone and arrives in the open corner in time to receive, so the ball never waits.
Mark a square of four cones 10 metres a side. Three players stand just outside three of the cones; the fourth corner is open. The player on the ball passes along the side to the next cone, then runs round the outside of his own cone and up the side behind him to the open corner. The receiver meets the ball just outside his cone, takes his first touch round the outside of it and passes on along the next side with his second, then makes the same run. The ball goes round one way and the runs go the other, so every pass is played into a corner someone has just filled. Go one way for a few minutes, then reverse.
Patterns die at the corners. If the run after the pass starts when the ball arrives instead of when it leaves, the next corner is still empty, the receiver has nobody to play to and the whole thing stops. Four corners with three players makes that impossible to hide: one corner is always open, and the man who just passed is the one who has to fill it.
The ball goes round the square one way and the players run the other. After his pass the passer goes round the outside of his own cone and up the side behind him into the open corner, which is where the ball arrives two passes after his own. He has exactly that long to get there. Leave on the pass and he arrives with time to half-turn; leave late and the ball beats him.
Receiving is the same as every square: meet the ball just outside the cone, take the first touch round the outside of it and pass with the second. That keeps the ball on the outside of the square, away from the runner coming the other way.
Ten metres is a tight square, and it is meant to be. With three players and short sides the cycle is quick, and the run is the hard part, not the pass. If the group cannot get round in time, check when the run starts before changing anything: it is usually late, not slow. If it still does not work, allow a third touch so the ball waits for the runner.
Save it to your private drills, then change the animation, adjust positions, swap equipment, or drop it into a session block. Or start from a blank pitch and build your own.