The main reasons for low throughput are:
1- poor RxQual (= poor C/I)
2- low RxLev
3- congestion in the cell (congestion CS + PS)
4- congestion in the Abis
5- bad parameters (max pdch high load, max pdch, max number of tbf multiplexed in one pdch, etc)
6 – Congestion in the Ater PS or in the Gb or in the Gn or in the Gi interfaces.
Since you are talking about a network wide problem, you should focus on the case 3, 4 and 5 and 6. I doubt you have interference and poor coverage in your whole network.
If you’re talking about just one cell in particular, investigate all possible cases.
how many trx in the cell?
how many erlang at busy hour?
how many pdch are allocated in average in the cell ?
how much abis is used and free?
what is the congestion on the ater ps?
what is the congestion on the other interfaces ?
For one cell, perform a drive test a low load hour, and then same place at busy hour. Do you see any difference ?
(which vendor are you using ?)