I'm modeling a PS3 controller (pictured here).

What I have so far consists of the center rectangular base and the cylinders for the two thumbstick bases, which I'm working on right now.
Here's some pictures of what I have so far (both as polygons and smoothed with the 3 key):
The back:

The front (with start/select buttons):

The back (smoothed):

There's some strange pinching going on above the left thumbstick, but I'm not sure if it will pose problems ahead.
The front (smoothed):

As you can see, on the front side of the smoothed model there's some weird edge behavior to the left of the right thumbstick. They don't let me highlight them when I hover over them. It gets more confusing below:
This is what appears when I select a face on the front side of the left thumbstick.
Notice the edges that get selected alongside with it (it seems to think these are the face's bordering edges):

What appears when I try to select an edge on the front side of the left thumbstick:

The edges have especially strange behavior. On the front side of the thumbstick, some edges appear inside a face on the center base of the controller.
This is what happens when I try to select that face:

Again, what I've done so far to get here is construct the rectangular base and the two cylinders, then provide vertices on the base to allow for the cylinder to combine with the base without too complicated geometry. Then I did Boolean > Union, and succeeded in adding the right thumbstick. But when I attempted to add the left thumbstick I had some issues.
First the boolean union was giving me a cylinder with reversed normals. I was selecting the parts in the correct order, but it wasn't working. So I tried reversing the normals of the cylinder before doing the boolean union, and it worked, but left some faces inside the model, so I deleted them and continued to work on making the geometry into quads like I did with the right thumbstick. I thought I had succeeded, but when I checked to see if I had proper edge flow on the cylinder I found the above pictured issues.
Basically what I'm asking is how to get proper edge flow on the front and back faces of the cylinder. I can't think of any other information to provide (sorry if I wrote too much) so I'll attach the scene file if that helps. Thanks in advance!
