Interfacing with computer

Hello all
I hope this is in the correct area.

Using Arduino Mega.
What is the fastest way to communicate with an external computer. I am sending a decent amount of data to/from the Arduino to my computer and using serial is just not fast enough. There is the Ethernet shield but that is not really designed for the mega. I understand that with some hardware modifications it should work.

Any suggestions or directions in the right way are greatly appreciated.

PS: I did find a Mega shield but haven’t had luck getting it to work here is the link.
(http://cgi.ebay.fr/ENC28J60-Ethernet-Shield-Arduino-MEGA-MEGA2560-/220778458369?pt=LH_DefaultDomain_0&hash=item33676bed01)

If your ethernet shied has the 6 pin cluster for icsp connection, it should work equally well on uno or Mega. The shield you allude to is made for Mega and may only work on a Mega, but its principle feature is the prototyping area which has nothing to do with the ethernet function.

I don't know if the ethernet is any faster. You may find the increasing the serial speed to 115kb is sufficient

I am sending a decent amount of data to/from the Arduino to my computer and using serial is just not fast enough.

"a decent amount" is not a quantifiable amount. How much? How often? How fast? ASCII or binary? Is all the data really needed?

Data to Arduino is:
actuator number :2-9
actuator position: 0-255

Data from Arduino is:
Actuator number: 2-9
Current position of each actuator 0-1020
Position of other sensors: 0-1,10-15 each with value: 0-1020

At the moment I am running serial communications between 19200-56000.

Arduino reads all sensor data and sends it to the computer then it then waits till the computer sends data back.
Data is processed and cycle repeats.

Are you sending the data as ASCII or are you using raw bytes?
If they are currently ASCII then sending as raw will reduce the amount of bits to send so you could send all 16 sensor values in 32 bytes with a bit of packing. Also as Nick says you could increase the serial speed.
You can send all the information for one sensor in 2 bytes (16 bits)
Bit packing could be something like bit 7 of first byte is set and clear for second byte so you don't get out of step with reading the raw data. The remaining 7 bits per byte are the 10 bit value (0-1020) + 4 bit sensor number (0-15) split across the 2 bytes

e.g. Sensor 7 has a value of 1020, 7 = 0111 and 1020 = 1111111100 in binary.
Shift the sensor value 4 positions left and put sensor number in first 4 bits = 11111111000111
Split into 2x seven bit fields and set bit 7 for first byte 11111111 and clear bit seven on second byte 01000111
Use Serial.write to send the 2x bytes.
The PC will know when it's reading the first/second byte because of bit 7. Just reverses the process to extract the sensor number and value.