Understanding P vs NP
I know that NP-complete problems cannot be solved in polynomial time.

We don't know this. This is exactly the P vs NP question. NP-complete problems can be solved in polynomial time iff P=NP.

If P ≠ NP, then all problems in NP cannot be solved in polynomial time.

P is a subset of NP, so some problems in NP can definitely be solved in polynomial time.

Furthermore, if we consider the Church-Turing thesis, and if P ≠ NP, then no computational formalism (ever) can solve NP-complete problems in polynomial time.

The Church–Turing thesis isn't really relevant here, since it is about computability rather than complexity. It could be that P ≠ NP but NP-complete problems can be solved in polynomial time by randomized algorithms or by quantum algorithms (though both of these are considered unlikely).