When you are seeing a delay in the signaling between CCM and the phones the problem is usually network related but sometimes it could be a CPU issue.
To determine if the issue is a network related issue you will need to capture packets to/from the CallManager as well as from the PC plugged into a phone the experiences delay. I know, that is easier said than done. You may be able to get away with just looking at the CallManager side. If you see retransmissions for TCP Port 2000 then you have some sort of network issue such as QoS.
You can collect perfmon logs to determine if there are CPU issues during the times that the signaling is delayed. A TAC engineer can review the SDL/CCM traces to see if the process queues are building up during that time.
Long answer no easy steps :-)
HTH
Kevin