One way to describe this problem is that the middle chain ring hides in the shadow of the big ring. The front derailleur pushes the chain outward, but the chain touches the big chain ring before it touches the middle chain ring. So the chain engages the big chain ring rather than the middle.
To make that shift perform better, choose chain ring sizes so the middle chain ring has more teeth than the average of the other two chain rings. This sometimes makes the shift from the small chain ring more reliable.