I think your question is a bit confused. Please, let me clarify a few points.
First of all the theorem you mention is traditionally known as standardization theorem, and is due to Curry and Feys (Combinatory Logic I, 1958), generalized to eta reduction by Hindley (Standard and normal reductions), and then revised by many other authors (see e.g. this question ).
Secondly, outermost reduction is different from call by need (call by need is not even a reduction strategy in the traditional sense of the word).
Coming to the complexity issue, that is the core of the question, call by need is optimal only with respect to weak reduction. However, weak reduction is not always the best way for reducing lambda terms. A well know example is the following term
n 2 I I
where n and 2 are church integers, and I is an identity. I add two I at the end, otherwise weak-reduction languages would stop the computation too early.
Observe that the term reduces to
2 (2 (... (2 I))..) I
and (2 I) reduces to I. So, with innermost reduction you would be able to reduce the term in linear time w.r.t n.
On the other side, I invite you to perform the previous computation in Haskell, and you will discover that the reduction time grows exponentially in n. I leave to you to understand the reasons of this phenomenon.
A similar discussion has been done in this thread.