Phase response of FFT in practice
The problem is that your input vector is not symmetric when considering the definition of the DFT:

$$X[k]=\sum_{n=0}^{N-1}x[n]e^{-j2\pi nk/N}\tag{1}$$

Note that from (1) the time indices start at $n=0$. If you periodically continue the signal $x[n]$ in your example you get

n:    ... -5 -4 -3 -2 -1 | 0 |  1  2  3  4  5  6  7  8  9  10

x[n]: ...  1  0  0  0  0 | 0 |  0  0  0  1  1  1  0  0  0  0

If $x[n]$ were symmetric, the values for negative $n$ would need to be the same as the values for positive $n$. For $n=\pm 4$ this is not the case. If you defined your signal instead as

x[n] = 0 0 0 0 1 1 1 0 0 0

i.e. a signal of length $N=10$, then it would be symmetric and, consequently, its DFT (FFT) would be real-valued, apart from numerical errors.