Unfortunately, as you have found, iMovie randomly selects the poster frame. There is no feature that allows one to change the frame that iMovie selected. The only way that I have found to change the frame is to add a black frame of suitable duration at the end of the iMovie project timeline. That will change the location point of the frame that iMovie chooses. Even that is a bit hit or miss. You cannot select what frame you want -- it would just be a different frame.
After you have shared out your movie you can change the poster frame of the movie by doing a Control-click/Get Info on the movie's icon and substituting a new photo in the display icon at the very top of the Get Info box. It probably won't carry over to another app, however.
You can change the poster frame if you upload your video to You Tube. You Tube has that feature. Not sure whether the selected frame carries over when you download the video back from You Tube.
You also can set the poster frame of a video in the Photos app by clicking on it and then clicking on the little gear icon in the right hand side of the video control box that appears. However, again, it won't carry over.
-- Rich