XBees aren't terribly high-bandwidth devices, they're meant for short transmissions. End-to-end throughput has nothing to do with the local serial interface speed used to communicate with the XBee. Get the product manual, and look for the "throughput" section. Your results seem to be roughly consistent with the estimates from the S2 manual below.
Throughput in a ZigBee network can vary by a number of variables, including: number of hops, encryption enabled/
disabled, sleeping end devices, failures/route discoveries. Our empirical testing showed the following throughput
performance in a robust operating environment (low interference).
Configuration Data Throughput
1 hop, RR, SD 35kbps
1 hop, RR, SE 19kbps
1 hop, RE, SD 25kbps
1 hop, RE, SE 16kbps
1 hop, ER, SD 21kbps
1 hop, ER, SE 16kbps
4 hops, RR, SD 10kbps
4 hops, RR, SE 5kbps
RR = router to router,
RE = router to end device (non-sleeping),
ER = end device (non-sleeping) to router,
SD = security disabled,
SE = security enabled.
4 hops = 5 nodes total, 3 intermediate router nodes
* Data throughput measurements were made setting the serial interface rate to 115200 bps, and measuring the
time to send 100,000 bytes from source to destination. During the test, no route discoveries or failures occurred.