There really isn't much difference in meaning between "speak English" and "speak in English" from a practical point of view. However, the two phrases use a slightly different meaning of the verb "to speak".
In the first the meaning is "be able to communicate in a language" such as "he speaks English fluently", in the second you are describing the manner of speaking; consider for comparison: "he speaks in a high voice".
See wiktionary. where we have a couple of different meanings:
- (intransitive) To communicate with one's voice, to say words out loud.
- (transitive) To be able to communicate in a language.
Note the difference can be deduced from (amongst other things) whether the verb is transitive or not.
With respect to talk, the work "talk" there is a great deal of overlap between the meanings of "talk" and "speak", insofar as there is a difference "talk" tends to mean a back and forth communication between more than one person, and "speak" tends to emphasize the actions of a single person. However, that is only a general rule, since "a talk" can also specifically mean a lecture, which is mostly one way.
In regards to "talk English" that is not allowable because it is a special, specific meaning of "speak" as indicated in the dictionary entry I cited above. However, "talk in English" is perfectly acceptable, though perhaps not idiomatic; it means a conversation conducted in the English language (or alternatively a lecture delivered in the English language.) Again, the proposition "in" here denotes the manner in which the talking is to be done.
For more on talk see wiktionary.
In response to a comment below, I thought a contrast would help. The comment was "is there a difference between 'he can speak English well' and 'he can speak in English well'".
The answer is that practically speaking there isn't really any difference between the two. However, let me offer a contrast. To say "he can speak English well, but doesn't understand it at all" does not make any sense, since "speaking English" implies an facility with the language. However you could say "he can speak in English well, but he can't understand it" is semantically acceptable, since speaking is different than understanding. However, obviously it doesn't make sense for a different reason -- namely that from a practical point of view you cannot really speak with your mouth a language without understanding it. In fact, truthfully it is usually the other way around -- usually people understand a language better than they speak it.
However, there is one exception, typified by this example: when someone who knows no English uses a phrase book with certain fixed sentences, such as "Please tell me where the bathroom is" or "Please take me to the airport." In this case the speaker does not understand the words he is saying, reciting them merely by rote from a phrase book. In this case he can speak in English, but he does not speak English.
Hope that makes sense.