What I have noticed is the WebM file is 8MB while the MP4 and OGG are around 1-2MB. Is this normal? And why are webm files so large?
If you choose "high-quality" options, then the encoder will spend more bits per second (or per frame) on the video. That's nothing unusual, it could be that you've just used the "wrong" settings.
Actually, WebM doesn't compress as well as H.264 usually does, but should be equal to (or a bit better than) Theora video.*
Note that when you're re-encoding a file that is already encoded, you're throwing away even more information by compressing it again. So it's not a bad idea to make the output file equal in size or even bigger than the input, so as not to compress too much – up to a point where you'd actually see that the video looks significantly worse.
That all being said, try to adjust your quality or bit rate settings so that the resulting video still looks fine to you.
Should I try another converter program? If so what would you recommend?
libvpx is the original encoder for WebM by Google (or formerly On2, who developed the codec design). I guess VLC uses the same libraries in the background, so you won't find a "better" encoder.
You'll probably have a newer or equal version bundled with FFmpeg, when it's compiled
--enable-libvpx. See my blog post on what you can do with FFmpeg. For WebM, you can then use the
libvpx codec. But depending on what you can set with VLC, this is entirely optional.
* note that OGG and MP4 are containers. The actual codec used in OGG is normally "Theora" and for MP4s it's "h.264" or "MPEG-4 Part II". See: What is a Codec (e.g. DivX?), and how does it differ from a File Format (e.g. MPG)?