is using two UARTs wiser compared to I2C and UART with Arduino + Xbee + BNO055 Sensor Hardware


Arduino Nano
XBee Pro S1 (802.15.4) Modules
Adafruit BNO055 Absolute Orientation Sensor


Purpose

I want to send the Euler angles and Linear Acceleration angles to the a central XBee Coordinator (can be connected to a Computer or a Single Board Computer) every 100 ms

Since the BNO055 has SDA and SCL pins for I2C how will the performance of the Nano matter when sensor data is acquired from the BNO sensor and send to XBee module which will be connected to the Hardware Serial UART Port? 

An interesting observation was that if one:


  Shorts the PS1 pin to 3.3V for the BNO055, the SDA and SCL will function as RX and TX pins for UART. 
  source


In terms of interfacing, I can think of the Xbee now connected to the Hardware Serial Port and perhaps the BNO sensor will can be connected to the Nano via SoftwareSerial port. But will that serve any better purpose in terms of performance and data acquisition i.e. using two Asynchronous Serial Ports compared to one?
All software serial solutions are much less efficient than HardwareSerial (i.e., Serial).  SoftwareSerial is particularly bad, because it disables interrupts for long periods of time.  95% of the MCU time can be spent twiddling its thumbs, waiting for each bit to come in.

Using the I2C interface for the BNO055 means that the Arduino hardware will independently and concurrently handle each byte of data from the BNO055 and from Serial (i.e., the XBee).  Your sketch can continue to do other things while each byte arrives.  This is most efficient.

Software serial port libraries handle each bit of data, sometimes to the exclusion of all other activity.