Although some SCADA applications can be OPC servers, it is not generally the case and you don't usually read data directly from them. In 99% you will read data from some kind of a PLC or data logger. They have specific protocols, which can be abstracted once you have OPC servers for them. SCADA systems might read PLC data directly, or via OPC server. If they read through OPC server, you might consider using existing one. This is good thing to do if OPC server is on some kind of a server, and bad approach if it is on a SCADA operator station which can be restarted without your control. Whenever you add new communication subject (like new OPC server), you should first check if current SW/HW configuration can handle it without changes in existing systems. For example, you try to connect to PLC and find out that you need to upgrade network PLC card to support one more communication channel, or that you need to parametrize it first to be able to talk to it, or that it allows just one communication master and that role is already occupied by SCADA station, etc.
To give you an exact answer to your question: YES, OPC UA is the best way to collect plant data. You should be aware that having OPC servers (or single OPC server with many protocol plugins - like KepWare OPC Server) is just first step. Next you will need to decide what to do with real time data. There are many OPC compatible tools for displaying, archiving and alarming. One serious player in this arena is OsiSoft with it's PI historian server and nice tools for visualization of historical data and Excel plugins for serious data analysis. You will find many more if you browse OPC Foundation web site.
Good thing with OPC is that it is a well known standard and you can make a custom OPC server for a specific device and have it's data collected, displayed, alarmed, put into trends, archieved by any other OPC tool which is compatible to the same OPC standard version. I have made a few custom OPC servers and this is working very nice indeed.