Iowa high schools have something called QuikStats. On this, all the coaches as required to record their athletes times. While I am not going to go through and try to find the "average" time, I will give you the median times.
There are 1077 3200 times recorded and the 538th and 539th best times are both 11:24.16.
There are 1607 1600 meter times recorded. The 803 and 804th best times are 5:15.96 and 5:15.97.
There are 2007 800 times and the 1003 and 1004 best times are 218.71 and 2:18.74.
The best times in each event are:
3200- 9:08.96
1600- 4:15.21
800- 1:55.18
The worst times in each event are:
3200- 14:55.73
1600- 8:33.43
800- 5:05.24
The average times in each of these events are likely slower than the median, as there are more slow "outliers" than fast "outliers". Iowa is probably right about average as far as fastest states in the nation, as well...maybe slightly slower than average, but that would likely only be reflected toward the front few runners. I have to say, these times show that "average" is a bit slower than what many on LetsRun seem to think is the case. I've heard 4:30 and 10:00 thrown around as average before. Well, average is a BIT slower than that, keeping it in perspective. And while nearly all the faster times are recorded (I think this list may not include the state meet, which may have had some faster times up front), not all the slowest times are probably on here. I think some schools only record their varsity performances, disregarding the painfully slow j.v. guys.