Actually, even without phonons, Bloch's theorem hypothesis of a periodic potential is badly violated by all real crystals: finite samples have boundaries, then cannot be periodic.
Then, how do Bloch states, although impossible in the real world, are so useful in Solid State Physics?
The answer is Perturbation Theory. The main ideas to justify it in the case of crystal physics are:
- the existence of an ideal periodic problem close enough to the real-world non-periodic system, at least locally;
- the difference between observable quantities evaluated for the ideal and real system should be negligible.
The two ingredients work differently in different contexts, but both are required.
For example, Bloch's states are useless in describing a glass because the atomic structure of glass has no resemblance with a periodic structure, even at the scale of a few neighbors. They are useful for finite-size crystals, even if the translational symmetry is broken at the boundary because it is possible to show that the difference between properties of a finite part of a perfect (infinite) periodic crystal and of a finite-size crystal is proportional to the surface area of the surface. Therefore, this difference becomes negligible for macroscopic samples (it grows with the volume of the sample as $V^{\frac23}$, while bulk properties grow as $V$).
The same argument can be used to justify the usefulness of Bloch's states in the presence of thermal motion (phonons) or defects. Provided the number of phonons or defects is not too high, in most of cases, the perfect crystal solution is an excellent zeroth-order approximation. Only when thermal disturbance becomes too high (too many phonons, resulting in too large amplitude vibrations$^{(*)}$) or if the number of defects reaches a threshold of concentration, the structure of the real system departs so much from the ideal crystal to make Bloch description inadequate.
$^{(*)}$ The empirical Lindemann's melting criterion predicts melting as soon as the mean square fluctuation around equilibrium positions reaches a given percentage of the first neighbor distance.