How to leave only the following strings?

Try SequenceCases:

data = {{1, 7, 4, 6}, {1, 6, 4, 8}, {2, 4, 9, 2}, {E, 1, 2, 3}, 
        {1, 4, 6, 3}, {4, 4, 6, 2}, {E, 4, 5, 6}}
SequenceCases[data, {p_, {E, ___}} :> p]

yields

{{2, 4, 9, 2}, {4, 4, 6, 2}}

The most idiomatic solution to this problem is, in my opinion, pattern matching (as Sakra has also answered):

SequenceCases[data, {x_List, {E, ___}} :> x]

{{2, 4, 9, 2}, {4, 4, 6, 2}}

But the problem also lends itself to functional solutions, e.g.:

pairs = Partition[data, 2, 1];
If[#[[2, 1]] == E, #[[1]], Nothing] & /@ pairs

{{2, 4, 9, 2}, {4, 4, 6, 2}}

Or in one go:

BlockMap[If[#[[2, 1]] == E, #[[1]], Nothing] &, data, 2, 1]

{{2, 4, 9, 2}, {4, 4, 6, 2}}