Sam Twomey's first of two tries gave England an early advantage with Leicester's George Ford, who finished with 23 points, converting for a 7-0 lead.
Wales, who defeated Scotland 30 -3 in their opening game last weekend, struck back almost immediately with a penalty from Morgan and after camping in the England 22 shortly after, Williams crossed for Morgan to convert.
A second penalty from the Ospreys academy pivot put Wales 16-7 to the good, shortly after half time, but from that juncture, it was an altogether different story with England turning the screw at the set piece and showing terrific pace behind the scrum.
Twomey added his second try and 13 minutes in to the half, Billy Vunipola extended his side's advantage with a third team try that Ford once again improved.
Morgan and Ford twice exchanged penalties as the game moved into the final quarter, but with England on top, despite a yellow card for Will Skuse, Ford added three more penalties before converting a late, well-worked try from Elliot Daly.
Wales U18 head coach Simon King said, "After such an encouraging start to our international programme last weekend, we are dissapointed with today's performance. All credit to England, they were extremely strong physically and played most of the rugby, but you learn a lot about players from a defeat and we will review this game now before moving on to preparing to play Ireland at Llandovery on Friday in the opening game of the Under 18 Five Nations festival.
"Ireland will be strong and we will have to be a lot more competitive in order to come away with a win, but I know the boys will bounce back after today and be ready for that challenge.
"We had a good crowd at Swansea and although they didn't get the result they were looking for, hopefully the supporters will get behind us at Llandovery for our next two games."
Wales Try: Williams; Con: Morgan; Pens: Morgan (5)
England Tries: Twomey (2), Vunipola, Daly; Cons: Ford (4); Pens: Ford (5)