But if it's finite, then what is surrounding it? And what is it expanding into?
I have always thought of the universe as being finite but unbounded (i.e. no edge). I would say that the thing it is expanding into is time.
The analogy is blowing up a balloon. you start with an un-inflated balloon. It has a finite small surface, and you can go anywhere on the surface and eventually get back to your starting point. Mark some dots on your path. They will have a certain spacing between them.
Then you start to blow up the balloon. It expands, and the surface of the balloon expands. The spacing between the dots increases. But still you can travel all the way around the finite surface of the balloon to reach your starting point - it's just that the balloon got bigger over time.
The surface of a balloon obviously being 2 dimensional (forwards and sideways) - just raise the analogy by an extra dimension to see the universe as a 3d surface of a 4d object (with time as the fourth dimension).
Just a theory, but it's one I like.