Just now the command timed out in Prod.
I have asked for the logs.
Please explain what you mean by 'the command timed out'? Do you have a resource limit set for the user that ran the query?
Can we think of removing the append to make it work. There are around 2.5 million rows.
You've proven that it runs faster with APPEND so now you want to remove it?
Use PARALLEL for the INSERT part of the query as user12045475 suggested and then you don't need APPEND since parallel always uses append.
See this AskTom blog
MAKE SURE you read his 'Followup November 11, 2009'