I've actually seen the opposite behavior, so would like to know more about your situation. I even recently wrote a script that adds 10,000 lines to a transaction (the max) and it still saves in a reasonable amount of time. In fact, sublist manipulation seems quite speedy. Using sublists is even a performance hack for updating many records quickly (leveraging parent/child) vs updating the corresponding record instances directly individually.