To learn a foreign language, a lot of hard work is an absolute must. However, hard work alone is not quite enough, one must also have talent.
The biggest problem with many Thais, unable to speak English properly is, because first of all they never ever bother to speak their mother tongue correctly. If a person does not speak his very own language properly, how can he learn to speak another language?
Thailand should, must give priority to students speaking Thai properly before even attempting to encourage them (students) to speak English.
Why don't we start by training teachers to pronounce R and L the way how they should be pronounced?
Until then forget about how to teach students to speak English because it will be a very daunting task indeed.