Is there an easier way to do all of this?

You are creating a whole bunch of consecutive pointers into your array inParse, when you can just pass that array into your sort methods.
And since your chan array lines up with your parsed array, you can also loop through the assignments instead of individual separate assignments. Here's an example (separate from your own sources):

char buffer[] = "12,345,55,178,9,77,900,122";
//inParse only needs to be as large as the number of individual int strings strtok will find in buffer
//It does not need to be as large as buffer
char *inParse[8];
int values[8];

void setup()
{
  char *s;
  int count = 0;
  
  s = strtok(buffer, ",");
  inParse[count++] = s;
  while(NULL != s)
  {
    s = strtok(NULL, ",");
    if(count < 8) inParse[count++] = s;
  }
  
  //We only need to pass in a single value, a pointer to our array of pointers
  //ie, a pointer to a pointer (char**)
  Convert(inParse);
  
  Serial.begin(115200);
  for(int x = 0; x < 8; x++) Serial.println(values[x]);
}

void loop(){}

//An array of pointers is basically just a pointer to a pointer
void Convert(char** arr)
{
  for(int x = 0; x < 8; x++)
  {
    //Here's where the magic happens.
    //We dereference our array pointer, to pass our char * to atoi()
    //And also increment the array pointer to the next element in our array
    values[x] = atoi(*arr++);
    //Or, if you're having trouble wrapping your mind around that, try this:
    //values[x] = atoi(arr[x]);
  }
}

No, I'm so used to HTML that this is the structure I am used to seeing, and makes it easier for me to read my own code... Even my java looks like that...

When asking strangers for help, it's probably best to try to accomodate them as best as possible. Help them help you, and you'll get better help. Hint: The Arduino IDE has an Auto Format capability in the Tools menu.

I don't have to take serial data as String?

No. You can, and should, stick to char arrays.

From here on out, it is obvious to me that you are a much more advanced C++ programmer than myself. I have no idea what a bounds check is...

Bounds checking isn't all that advanced stuff. You should spend some time brushing up on your C++ skills. In summary, C++ does very little for you. if you create an array of 5 elements, you can try to access the 10th element, and C++ won't stop you. You'll just access memory beyond the array, and who knows what value that memory is going to contain. Worse still would be changing that memory. It's up to you to make sure you're index values are within the bounds of your array.