Is any difference between "speak English" and "speak in English"?
"speak English" refers to an ability. "speak in English" refers to a language choice.
Can/do you speak English?
Meaning: Do you know English well enough to use it verbally?
Can/could you speak in English?
Meaning: I'd like to request that you speak English instead of some other language.
Do you speak in English?
That sentence doesn't make much sense, because "do" is asking about a habitual/continuous situation, whereas "in English" refers to a language choice rather than ability.
In American usage, anyway, "speak English" also has a sarcastic meaning. When someone is speaking English but is very unclear -- perhaps because they are using technical or legal terms -- you can say "speak English" to mean "say that more clearly." It would be very odd to say "speak in English" for this purpose.
Both are correct. And it depends on the context.
If I am telling or instructing (As I do that with my daughter), I'd use...
"Speak in English."
If I'm asking someone whether they speak that language, I'd prefer
"Do you speak English?"
Worth mentioning a joke that we play here in India. I'm writing this because it's related to this question!
In my mother-tongue, speak (without in) in this context refers to the word which means say. So, if someone forgets putting the word in, they get a funny reply
I can speak Spanish ~ I don't believe. Speak it
But if I tell that I speak 'in' Spanish, it means I have to speak sentences in Spanish and not the word 'Spanish' that otherwise happens without 'in'.
"Do you speak in English?" does make sense in situations when the questioner KNOWS that the people are polyglots. For example, in a family with a German mother, a Spanish father can be asked "Do you speak in German to your children?"
Or, as another example, in some international company, new employees might require what the office language is.