>>I have set up three user roles for my site. My biggest problem right now
is that when someone registers for the site they are presented with a
drop down box and they are able to choose any of the three roles listed.
I think, that here you meant "Account Types" and not user roles.
First of all, let me explain what the 'Account type' field is needed for.
Let's presume that your site is a business portal for potential employers and those who is looking for a job.
So, there should be two different sets of profile questions separately for the employers and for those looking for job vacancies on your site. That's why you should create an additional Account type and select the different profile questions for it.
And if while searching you choose a certain Account type, you will see only those profile questions that had been set for this type. And there is no needed to change the 'Account type' field for multiple choices, because if you are an employer you will search only for the people looking for a job.
User Roles feature is a members' limitation. You can set the limit for each of the member roles. For example: You have two roles - 'Standard' and 'Gold'.
A member with the 'Gold' role can read forum topics. But a member with the 'Standard' role can not do it, as his role limitations do not allow him to do that.
You will be able to select the services that will be available for members with 'Standard' or 'Gold' roles.
>>I do not want anyone to be able to select a role at signup, as they
should all begin with the default. is there a way to correct this?
So, when users register on your site they select an account type and get default user role.
Admin of the site can change each user's user role later on.
>>Also, I would love to have users automatically upgraded to the next role
after a certain length of time or activity on the site. Is this
possible?
It is possible, but requires custom code modification.
You can suggest this idea at UserVoice.
Or find a developer to complete this work for you at Oxwall Market.