The main reason is that I can send all the values in one packet if they are 6 digit hex values
Sending 3 bytes worth of data in 6 characters is not more efficient than sending 3 ints worth of data in 6 bytes.
The FFFFFF pattern may look like it means something to you. Sending 1023 as 2 bytes, three times, means just as much to the Arduino, and requires no strtoul() conversion on the receiving end. Just some bit shifting, which is way faster.