We changed planes at Sky Harbor last October but they were domestic flights so we did not have to go through immigration. We did have to change terminals ( from T4to T2) which took some time.
You will be arriving at Terminal 4, which is the large and modern one. Many other airlines, including American and Southwest, use that terminal. Getting through immigration at any airport often depends on how many international flights are arriving at that time. If BA is the only one, it could be fairly fast (depending on what passport you hold).
But since you are booking your onward flight separately, you need to allow for delays in flight as well as at the airport. The usual recommendation for an "unprotected" connection (I.e. not on the same ticket) is 2-4 hours. I like to err on the side of caution and allow four.
Where are you flying next? Can you use Alaska Airlines? If so, they have a nice policy on "same day" flight changes---it only costs $25. We took advantage of this when we fly back from Australia---I booked a flight out that was four hours later. We arrived at LAX on time and got through immigration quickly, so we changed to an earlier flight. It works the other way too---if you miss your scheduled flight, they will put you on the next one, assuming there is room. But it has to be the same day.