Does a cluster index provide more benefits than pre-sorting the load file and creating non-cluster index?
The order you insert data into a table does not guarantee the order of the data on this disk.

Even if the order happens to be as you wish, it's not structured in a way that the optimiser will know that it's searchable by that order.  (It will be treated as un-ordered.)

When you have a non-clustered index, and you need to use fields not covered by the index itself, the index only contains a pointer to the data.  This is similar to introducing an extra join; a quick one, but a definite extra step in loading that data.



In short, it should nearly always be advantageous to have a clustered index (excepting circumstances like repeatedly inserting data at random positions in the table).

Which is contrary to your experience...

So, what are the queries that you are running?  It may be that something counter intuitive is happening, but it may still be explainable.


You've given us the schema, thanks.  
Could you also include the test queries you are using?  
And could you also include the methodology and results for measuring performance?  
And, finally, if possible, the execution plans for each query?